必要なファイルのコピー
必要なファイルのコピー
JSF RIを実行するのに必要なJARファイルと設定ファイルをプロジェクトにコピーします。
図3:ファイルの配置
必要なJARファイルは、JSF RIを展開したディレクトリのlib以下にあります。libディレクトリ以下のJARファイルを作成したプロジェクトのWEB-INF/lib以下にコピーします。
また、JSF RIはJSTLを利用しているので、その他にJSTLのJARファイルが必要です。JSTLのJARファイルはJSTLの実装であるJakarta TaglibsのWebページ(http://jakarta.apache.org/taglibs/index.html)からダウンロードするか、あるいは面倒であれば、JSF RIのsamples以下にあるサンプル(xxxx.war)にも含まれているので、WARを展開してその中からコピーしてもよいでしょう。
今回のサンプルではデータベースも利用するので、JDBCドライバも別途コピーします。そして、コピーしたJARファイルをプロジェクトのクラスパスに追加してください。
JSFの実行に最低限必要な設定ファイルは、web.xmlとfaces-config.xmlです。これらの内容については後述します。
ロジックの作成
次の処理を行うJavaクラスを作成します。
- テーブルから一覧を取得する
- 選択行を更新する
まず、前回の「データベースの利用」で作成したDBManagerを使いまわして、以下の クラスを作成します。executeQuery()メソッドはSELECT文を渡してCachedRowSetを返します。 acceptChanged()メソッドは、CachedRowSetの更新を実行します。
次にJSPとやり取りをして実際のビジネスロジックを処理するVideoHandlerクラスを作成します。次のようになります。
getVideosModel()メソッドで、JSFのテーブルコンポーネントのデータを返します。updateSelectRow()メソッドで選択された行のUPDATE処理を行います。
設定ファイル
次に設定ファイルを記述します。web.xmlは次のようになります。JSFのコントローラとなるFaceServletを*.jsfというURLパターンでサーブレットマッピングしています。
リスト1:web.xml
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">


Faces Servlet

javax.faces.webapp.FacesServlet


1



Faces Servlet

*.jsf

faces-config.xmlがJSFの画面遷移やビーン登録もろもろの設定を行うファイルです。内容は以下のようになります。ここでは、先ほど作成したVideoHandlerを登録しているだけです。
リスト2:faces-config.xml
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">


videoHandler

hoge.VideoHandler

session
