練習問題

8.7 練習問題

 本章で習った内容をもとに練習問題を解いてください。

問1 次の設問①~⑤について○か×で答えなさい。

設問
① Web画面からデータを送るには、フォームと呼ばれるHTMLの仕組みを利用する。
② データをURLの後ろに付けて送信するため、送信できるデータ量に制限があるのはPOST送信である。
③ POST送信はリンクからしか送ることができない。
④ サーブレットではPOST送信された場合doPost()、GET送信された場合doGet()メソッドが実行される。
⑤ 出力用の文字エンコーディングを指定すれば送信データの文字エンコーディングは必要ない。

問2 以下に示す実行結果になるような、ソースコードの空欄①~⑥に入るものを選択肢より選びなさい。

実行結果

選択肢
 post get getParameter setCharacterEncoding job doPost doGet

ソースコード

① 親フォルダの入力または選択 :web_basic/view/ch08exercise
② ファイル名 :practice0801.jsp
③ アクセスURL :http://localhost:8080/web_basic/view/ch08exercise/practice0801.jsp

➢ practice0801.jsp
<%@page contentType= "text/html; charset=UTF-8" %>

<html>
	<head>
		<title>practice0801</title>
	</head>
	<body>
		<form action="<%= request.getContextPath() %>/Practice0801Servlet" method=" ① ">
			あなたの職業はなんですか?<br>
 			<input type="text" name=" ② ">
 			<input type="submit" value="送信">
 		</form>
 	</body>
</html>

① ソース・フォルダ :web_basic/WEB-INF/src
② パッケージ :ch08exercise
③ 名前 :Practice0801Servlet
④ スーパークラス :javax.servlet.http.HttpServlet
⑤ アクセスURL :practice0801.jspからの画面遷移でアクセスされる

➢ Practice0801Servlet.java
➢ web.xml
<servlet>
	<servlet-name>Practice0801ServletMapping</servlet-name>
	<servlet-class>ch08exercise.Practice0801Servlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>Practice0801ServletMapping</servlet-name>
	<url-pattern>/Practice0801Servlet</url-pattern>
</servlet-mapping>

問3 問2で作成したプログラムをもとに、仕様に沿った入力チェックを追加したプログラムを作成しなさい。

仕様
 ①何も入力されずアクセスされた場合、「何も入力されていません」とメッセージを表示する。  ②ダイレクトアクセスされた場合、「フォームからアクセスしてください」とメッセージを表示する。

ソースコード

① 親フォルダの入力または選択 :web_basic/view/ch08exercise
② ファイル名 :practice0802.jsp
③ アクセスURL :http://localhost:8080/web_basic/view/ch08exercise/practice0802.jsp

① ソース・フォルダ :web_basic/WEB-INF/src
② パッケージ :ch08exercise
③ 名前 :Practice0802Servlet
④ スーパークラス :javax.servlet.http.HttpServlet
⑤ アクセスURL :practice0802.jspからの画面遷移でアクセスされる


NEXT>> 8.8 練習問題 解答