研修Servlet 03: JSP、入力パラメータ取得、フィルタ、ディスパッチ

《今回はEclipseを使って開発を行う》

入力パラメータの取得

サーブレットの中で、ユーザが入力した値を取得↓

 

1.新規動的プロジェクトを作成

2.サーバに追加

3.サーバを起動

4.「WebContent」の中にJSPファイル作成

5.「Java Resources」の「src」の中にサーブレットファイル作成

6.「WEB-INF」の「web.xml」の中の接続させたいサーブレットクラスの<url-pattern>をformの「action=コンテキストパス/ここに指定」

「web.xml」ファイルを変更した場合は必ずサーバ再起動!

 

*method=”GET / POST”を指定。

未定義の場合「GET」が定義されている。

 

<echo.jsp>

<EchoServlet.java>

 

パラメータの値を取得の引数は1つだけ指定(複数取得したい場合は下記コードを必要な分書く)】

 

複数のコントロールの名前の情報を一括取得

 

 

文字化け防止設定

*後で「フィルタ」を紹介 → 複数のサーブレットクラスで共通実行させたい処理を指定すると便利(各ファイルで指定しなくて済むため)。

 

1.サーブレットファイル内に下記指定(フィルタに設定してない場合)

2.「Servers」プロジェクトの「server.xml」のポート指定に下記追加 → サーバ再起動!

 

【エンコード】・・・情報を符号化(デジタル化)すること。

*エンコードするハード・ソフト → エンコーダー、又は変換機・変換ソフトと呼ぶ

 

【デコード(復号)】・・・符号化されたデーターを元の情報に戻すこと。

*デコードするもの → デコーダー、又は別途プレイヤー・再生ソフト・受信機と呼ぶ。

 

フィルタの利用

*共通の処理を実行させる時に使用。

1.「Java Resources」の「src」の中にフィルタファイル作成

2.「WEB-INF」の「web.xml」の中の接続させたいサーブレットクラスの<url-pattern>をformの「action=コンテキストパス/ここに指定」

*「web.xml」ファイルを変更した場合は必ずサーバ再起動!

 

 

<web.xml>

*フィルタのオン、オフ → 上記コードの<filter-mapping>タグをコメント/* */で囲む。

 

画面遷移

ディスパッチ・・・サーブレットの用語。別のプログラムに処理を依頼すること。

<処理の依頼(ディスパッチ)方法>

forward01_2016_01_12

 

include01_2016_01_12redirect01_2016_01_12

 

《fowardの実装例:サーブレット→サーブレット

<ForwardServletA.java>

<ForwardServletB.java>

 

《fowardの実装例:サーブレット→JSP

<foward_ok.jsp>

 

関連記事

研修Servlet 01:サーブレットの基本、MVCモデル

研修Servlet 02: JSP