ソースコード(プロジェクトフォルダ)をSドライブにアップロードして提出してください

S:\Java\課題提出\サーバサイド\11章


カーシェアリングの予約サイトを作成します。
9章練習問題の続きですが、ここまで作成済みのコードがない場合、ssjavakadai11_start.war をインポートして始めてください。
参考:インポート手順

問題1 車種情報をリスナーを使い、アプリケーション起動時に作成

9章練習問題では、車種情報を管理するMapオブジェクト(アプリケーションスコープ属性名:carTypeName)を、reserve.jsp内で作成していました。

これを作成するタイミングを、reserve.jsp内ではなく、Webアプリケーション開始時に実行されるリスナーにて行うよう変更してください。リスナーの仕様は以下の通りです。

(ブラウザに表示される画面は変更ありません)

動的Web
プロジェクト名
ssjavakadai
パッケージ名 kadai.listener
リスナークラス名 AppListener
処理内容 アプリケーション開始時(=サーバー起動時)にHashMap<String, String>型のオブジェクトを新規作成し、以下のデータをセットする。
キー
kei軽自動車4人乗り
compactコンパクトカー5人乗り
minivanミニバン8人乗り

作成したHashMap型のオブジェクトを、アプリケーションスコープに属性「carTypeName」という名前でセットする。 「リスナーによりアプリケーションスコープにcarTypeNameをセットしました」とコンソールに出力(System.out.println)する。

reserve.jsp では、carTypeName属性がアプリケーションスコープに登録済みかのチェックを行う必要がなくなるため、チェックせずに使用するコードに変更してください。

reserve.jspをサーバーで実行し、車種情報が正常に表示されることを確認してください。

問題2 ssjavakadaiプロジェクトにフィルタを設定

以下の仕様でフィルタを作成し、すべてのリクエストの文字コードをUTF-8としてエンコードできるようにしてください。

動的Web
プロジェクト名
ssjavakadai
パッケージ名 kadai.filter
フィルタクラス名 EncFilter
処理内容 全てのリクエストをフィルタリングし、各リクエストが処理される前に、リクエストパラメータの文字コードをUTF-8として設定する。

CustomerServletクラス内の記述、「request.setCharacterEncoding("UTF-8");」をコメントアウトまたは削除し、 customer.jspより日本語の値を送信しても文字化けしないことを確認してください。