練習問題
9.4 練習問題
本章で習った内容をもとに練習問題を解いてください。
問1 次の設問①~⑤について○か×で答えなさい。
設問
① ディスパッチはフォワードとインクルードの2種類のみ存在する。
② フォワードでは転送先で全ての出力を行うため、転送元では出力は行うことができない。
③ フォワードを使う場合、必ず画面出力を行うプログラムに転送しなくてはならない。
④ 1つのプログラム内でフォワードを複数回行うことはできない。
⑤ インクルードを行うと複数のファイルから1つの画面を作ることができる。
問2 以下に示す実行結果になるような、ソースコードの空欄①~④に入るものを答えなさい。
実行結果

ソースコード
① 親フォルダの入力または選択 :web_basic/view/ch09exercise
② ファイル名 :practice0901.jsp
③ アクセスURL :http://localhost:8080/web_basic/view/ch09exercise/practice0901.jsp
➢ practice0901.jsp
1 | <%@page contentType= "text/html; charset=UTF-8" %> |
5 | < title >practice0901</ title > |
8 | < form action="<%= request.getContextPath() %>/Practice0901Servlet" method="get"> |
10 | < input type = "text" name = "job" > |
11 | < input type = "submit" value = "送信" > |
① ソース・フォルダ :web_basic/WEB-INF/src
② パッケージ :ch09exercise
③ 名前 :Practice0901Servlet
④ スーパークラス :javax.servlet.http.HttpServlet
⑤ アクセスURL :practice0901.jspからの画面遷移でアクセスされる
➢ Practice0901Servlet.java

➢ web.xml
2 | < servlet-name >Practice0901ServletMapping</ servlet-name > |
3 | < servlet-class >ch09exercise.Practice0901Servlet</ servlet-class > |
6 | < servlet-name >Practice0901ServletMapping</ servlet-name > |
7 | < url-pattern >/Practice0901Servlet</ url-pattern > |
① 親フォルダの入力または選択 :web_basic/view/ch09exercise
② ファイル名 :practice0902.jsp
③ アクセスURL :Practice0901Servlet.javaからの画面遷移でアクセスされる
➢ practice0902.jsp
問3 問2で作成したプログラムをもとに、画面遷移図と仕様に沿ったプログラムを作成しなさい。
画面遷移

practice0903.jspの仕様
①提供されたソースコードを利用する。
Practice0902Servlet.javaの仕様
①Practice0901Servlet.javaをコピーし仕様に沿った内容に修正する。
②入力パラメータが空文字の場合、「何も入力されていません。」という文字列をpractice0904.jspにフォワードする。
③ダイレクトアクセスされた場合、「フォーム画面から入力してください。」という文字列をpractice0904.jspにフォワードする。
④正常なアクセスで入力パラメータに問題がない場合、入力パラメータをpractice0902.jspにフォワードする。
⑤web.xmlには提供されたソースを追記する
practice0904.jspの仕様
①提供されたソースコードを利用する。
ソースコード
① 親フォルダの入力または選択 :web_basic/view/ch09exercise
② ファイル名 :practice0903.jsp
③ アクセスURL :http://localhost:8080/web_basic/view/ch09exercise/practice0903.jsp
➢ practice0903.jsp
1 | <%@page contentType= "text/html; charset=UTF-8" %> |
5 | < title >practice0903</ title > |
8 | < form action="<%= request.getContextPath() %>/Practice0902Servlet" method="get"> |
10 | < input type = "text" name = "job" > |
11 | < input type = "submit" value = "送信" > |
① ソース・フォルダ :web_basic/WEB-INF/src
② パッケージ :ch09exercise
③ 名前 :Practice0902Servlet
④ スーパークラス :javax.servlet.http.HttpServlet
⑤ アクセスURL :practice0903.jspからの画面遷移でアクセスされる
➢ web.xml
2 | < servlet-name >Practice0902ServletMapping</ servlet-name > |
3 | < servlet-class >ch09exercise.Practice0902Servlet</ servlet-class > |
6 | < servlet-name >Practice0902ServletMapping</ servlet-name > |
7 | < url-pattern >/Practice0902Servlet</ url-pattern > |
① 親フォルダの入力または選択 :web_basic/view/ch09exercise
② ファイル名 :practice0904.jsp
③ アクセスURL :practice0903.jspからの画面遷移でアクセスされる
➢ practice0904.jsp
1 | <%@page contentType= "text/html; charset=UTF-8" %> |
4 | String message = request.getParameter("message"); |
9 | < title >practice0904</ title > |
NEXT>> 9.5 練習問題 解答