次に、一覧画面とエラー画面を実装します。修正内容は以下の通りです。action=login_actionの場合の処理とデータベース処理を追加。test.Itemオブジェクトに格納し、HttpServletRequestオブジェクトを経由してJSPファイルに渡す。TODO_USERテーブルのデータを格納するクラスを作成。カラムごとにset(カラム名)メソッドとget(カラム名)メソッドを定義することでServletで値を設定、JSPファイルから値を取得できるようにする。TODO_ITEMテーブルのデータを格納するクラスを作成。一覧画面を表現するJSPファイルを作成。HttpServletRequestオブジェクトからUser,Itemクラスのインスタンスを取得し、画面に反映する。Databaseライブラリのクラスパスへの追加WEBアプリケーションからJARファイル中のクラスを参照するためには、JARファイルをWEB-INF/lib以下に配置する必要があります。DatabaseライブラリをWEBアプリケーションから参照できるようにしましょう。DatabaseのJARをコピーします。(todotestプロジェクト)/WEB-INF/libにコピーします。DatabaseのJARを登録します。todotestプロジェクト上で右クリックし、「Properties」を選択します。Path」の「Libraries」タブを選択します。JARS...」ボタンを押し、「(todotestプロジェクト)/WEB-INF/lib/h2-1.1.108.jar」を選択します。Databaseのクラスを参照できるようになります。次に、Javaクラスを作成していきましょう。データベースのデータを格納するための値オブジェクトを作成します。Item.javaこれらのクラスには、テーブルのカラムごとに以下のようなメンバ変数、メソッドを実装します。_name;値を格納するためのメンバ変数の宣言。}値を取得するためのメソッドの宣言。JSPファイルはこのメソッドを呼び出すことで、HTMLに出力すべき値を取得します。}値を設定するためのメソッドの宣言。Servletファイルはこのメソッドを呼び出すことで、このインスタンスに値を設定します。次に、Servletクラスを記述します。postメソッド要求時の処理として、actionパラメータがlogin_actionだった場合の処理を記述します。}POSTメソッドの処理の実装。不正なパラメータが指定された場合の処理を記述します。ServletException("不正なパラメータです。"不正なユーザIDもしくはパラメータです。ユーザ情報が正しい場合はTODO_ITEMテーブルの内容を取得し、JSPで参照できるようにします。ItemオブジェクトはHttpServletRequest.setAttributeによりリクエストオブジェクト内に格納します。このメソッドを呼び出すことで、JSPファイル内でHttpServletRequest.getAttributeを呼び出すことでItemオブジェクトを参照できるようになります。これは、同一のリクエスト処理中にのみ参照可能です。UserオブジェクトはHttpSession.setAttributeメソッドによりセッションオブジェクト内に格納します。セッションとはブラウザとサーバ間の一連のやり取りを識別するためのものです。セッションオブジェクトにオブジェクトを設定することで、リクエストを発行したブラウザとのやり取りの中で常にオブジェクトを参照可能です。ここで設定されたオブジェクトは後述するlist.jspによって参照されます。}エラー発生時の処理。HttpServletRequest.setAttributeメソッドによりエラーメッセージを設定しています。ここで設定されたエラーメッセージは後述するerror.jspによって参照されます。}JDBC接続の初期化処理。今回は一度JDBCとの接続を確立したらそのオブジェクトを使いまわすような実装としています。このように回数を減らす工夫をおこなっています。}ユーザ情報の取得処理。取得した内容はUserオブジェクトに格納しています。Itemオブジェクトの取得も同様の手順でおこなっています。次に、JSPファイルを記述します。さきほどのログイン画面とは異なり、TodoServletが生成したオブジェクトをHttpServletRequest経由で取得し、画面表示に反映しています。JSPコードを追加します。list.jsp以下のようなコードを追加します。%>import宣言の記述。Javaプログラムと同様、JSPコード内でクラスを参照する場合、import宣言を記述する必要があります。%>Javaプログラムの記述。Javaプログラムを記述する場合、<%と%>で囲みます。getAttributeメソッドを使用して現在ログインしているユーザ情報を取得しています。変数を埋め込む場合、<%=と%>で囲みます。align="center">作業項目はありません。Javaプログラムと同様に制御構造を設けて、条件文が成立した場合のみ文字列を出力することが可能です。forループ、whileループなどについても同様です。ここでは、HttpServletRequestオブジェクトからアイテムリストを取得し、その内容に応じてHTMLを生成しています。JSPコードを追加します。ここでは、HttpServletRequestオブジェクトからエラーメッセージを取得しています。ここまでのファイルここまででプロジェクトディレクトリの内容は以下のようになります。作成できているか、確認してください。todotest_2.zipデバッグ・動作確認ブラウザで以下のURLを開き、動作確認をおこないます。以下のような画面が表示されれば成功です。データを登録しておきましょう。(作業項目登録画面はこの次で実装します。