JavaBeans とJSP データベース論 第5回 この講義に関するWebページ http://www.wakhok.ac.jp/~tomoharu/db2003/ きょうの内容 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 は パッケージに含まれている必要がある。 test/ ---| |-- WEB-INF/ --- web.xml 必須 | |- classes/ Bean (クラスファイル) | |- 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