JavaBeans とJSP J2EE I (データベース論) 第11回 / 2004-07-07 ここでの内容 JavaBeans の概要を知る。特に、「プロパ ティ」について理解する。 JSP から JavaBeans を使う方法について 知る。 コンポーネント技法 オブジェクト指向プログラミング言語 Java, C++, Ruby など オブジェクトを組み合わせてプログラムを作る コンポーネント技法 再利用可能なオブジェクトを組み合わせてプ ログラムを作る技法。 JavaBeans とは何か Javaによるコンポーネント技法 いくつかのルールのもとに作られた Java のクラス だから、取り扱いやすい JavaBeans の例 GUI 表計算 本のデータと関連する処理 JavaBeans のルール 永続化 引数無しのコンストラクタ プロパティ JavaBeansのルール (1) 永続化 必要に応じて、Bean の内部状態を保存し たり復元したりできるようにする。 public class HogeBean implements Serializable { …… …… } JavaBeansのルール (2) 引数無しのコンストラクタ 引数無しのコンストラクタ (= デフォルト・コンスト ラクタ) を用意する。 public class HogeBean implements Serializable { public HogeBean() { …… } …… } JavaBeansのルール (3) プロパティ Bean の持つ「属性」のこと 本をあらわす Bean であれば、次のものが プロパティ タイトル 著者 出版社 など 「本」を表す Bean public class Book implements Serializable { private String title; public Book() { …..} public String getTitle() { return title;} public void setTitle(String t) { title = t; } …… } メソッドのネーミングルールと プロパティ title というプロパティがある setTitle() や getTitle() というメソッドがあ る setTitle() や getTitle() というメソッドがある。 title というフィールドがあることを意味しない。 title というプロパティがある。 メソッドがあるから、プロパティが存在する setter と getter setter getter setTitle() というスタイルのメソッド プロパティに値をセットする getTitle() というスタイルのメソッド プロパティの値を得る どちらかが存在するだけでプロパティにな りうる setter と getter とプロパティ setter setTitle() getter getTitle() title というプロパティに値が設定できることを 示す title というプロパティの値を取得できることを 示す プロパティは “title” setter と getter では、先頭が大文字になる プロパティ名では、先頭が小文字 JSP から JavaBeans を 呼び出す JSPで3つのタグを使う <jsp:useBean ….. /> <jsp:getProperty ….. /> <jsp:setProperty ….. /> タグだけで書けるので、スクリプトレットの 量を減らせる。 <jsp:useBean ….. /> <jsp:useBean id="today“ scope="page" class="jp.ac.wakhok.tomoharu.Today" /> Bean のインスタンスを作る id は Bean の名前 scope は Bean の寿命 class は Bean のクラス名 (パッケージ名から) scope について Bean の寿命を示す 4つの scope page request 要求から応答の間 要求から応答の間 (コンテナ内 でデータのやり取りはできる) session セッションが有効である間 application Webアプリケーションが 動いている間 <jsp:getProperty ….. /> <jsp:getProperty name="today" property="year“ /> today と名づけられた Bean の year プロ パティを出力する。 <jsp:setProperty ….. /> <jsp:setProperty name="mybean“ property="username" value="maruyama" /> mybean と名づけられた Bean の username プロパティに “maruyama” を セットする。 Tomcat への配置 Bean は WEB-INF/classes に配置する。 Bean は パッケージに含まれている必要がある。 Jarファイルにまとめて WEB-INF/lib に配置してもよい。 test/ ---| |-- WEB-INF/ --- web.xml | |- classes/ | |- lib/ |-- loop.jsp 必須 クラスファイル 使用するライブラリ JSP クラスファイルの配置と パッケージ名 Bean のパッケージ名に合わせてフォルダを作り、 その中に Bean を配置する。 WEB-INF/classes/jp/ac/wakhok/tomoharu に Today.class を配置する。 package jp.ac.wakhok.tomoharu; public class Today implements Serializable { ……
© Copyright 2024 ExpyDoc