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 2026 ExpyDoc