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