ソースコード(プロジェクトフォルダ)をSドライブにアップロードして提出してください
S:\Java\課題提出\サーバサイド\11章
カーシェアリングの予約サイトを作成します。
9章練習問題の続きですが、ここまで作成済みのコードがない場合、ssjavakadai11_start.war をインポートして始めてください。
参考:インポート手順
9章練習問題では、車種情報を管理するMapオブジェクト(アプリケーションスコープ属性名:carTypeName)を、reserve.jsp内で作成していました。
これを作成するタイミングを、reserve.jsp内ではなく、Webアプリケーション開始時に実行されるリスナーにて行うよう変更してください。リスナーの仕様は以下の通りです。
(ブラウザに表示される画面は変更ありません)
動的Web プロジェクト名 |
ssjavakadai | ||||||||
---|---|---|---|---|---|---|---|---|---|
パッケージ名 | kadai.listener | ||||||||
リスナークラス名 | AppListener | ||||||||
処理内容 | アプリケーション開始時(=サーバー起動時)にHashMap<String, String>型のオブジェクトを新規作成し、以下のデータをセットする。
作成したHashMap型のオブジェクトを、アプリケーションスコープに属性「carTypeName」という名前でセットする。 「リスナーによりアプリケーションスコープにcarTypeNameをセットしました」とコンソールに出力(System.out.println)する。 |
reserve.jsp では、carTypeName属性がアプリケーションスコープに登録済みかのチェックを行う必要がなくなるため、チェックせずに使用するコードに変更してください。
reserve.jspをサーバーで実行し、車種情報が正常に表示されることを確認してください。
以下の仕様でフィルタを作成し、すべてのリクエストの文字コードをUTF-8としてエンコードできるようにしてください。
動的Web プロジェクト名 |
ssjavakadai |
---|---|
パッケージ名 | kadai.filter |
フィルタクラス名 | EncFilter |
処理内容 | 全てのリクエストをフィルタリングし、各リクエストが処理される前に、リクエストパラメータの文字コードをUTF-8として設定する。 |
CustomerServletクラス内の記述、「request.setCharacterEncoding("UTF-8");」をコメントアウトまたは削除し、 customer.jspより日本語の値を送信しても文字化けしないことを確認してください。