練習問題 解答

6.5 練習問題 解答

問1

① ○
② ×:JSPには@WebServletは必要ありません。
③ ×:プログラムを作成、もしくはソースコードを変更したあとの、最初の1回のアクセス時にだけ変換・コンパイル処理が行われます
④ ○
⑤ ×:JSPのコメントも存在します。

問2

 この画面を表示するには、以下のJSPプログラムを実行します。以下は、プログラムの仕様に基づき作成された1つの例です。

➢ practice0601.java
<%@page contentType= "text/html; charset=UTF-8" %>
<%@page import= "java.util.Date, java.text.SimpleDateFormat" %>
<%
    Date objDate = new Date();
    SimpleDateFormat objFormat = new SimpleDateFormat("yyyy'年'MM'月'dd'日'");
    String nowDate = objFormat.format(objDate);
%>
<html>
	<head>
 		<title>practice0601</title>
 	</head>
 	<body>
 		今日は<%= nowDate %>です。
 	</body>

解説
 このプログラムでは、4つの仕様が提示されています。
 仕様①と②からJSP内で必要なクラスが分かるので、この2つのクラスをインポートします。
   2:<%@page import= "java.util.Date, java.text.SimpleDateFormat" %>

 仕様③によって、表示される文字のどこまでが静的部分で、どこまでが動的部分かが判断できます。
 フォーマットは「”yyyy’年’MM’月’dd’日'”」となっているので、表示結果の「今日は2012年02月15日です。」の中の「2012年02月15日」の部分がJavaの処理で動的に作られた部分になり、「今日は」と「です。」がHTML内に記述される静的な部分になります。
   5:SimpleDateFormat objFormat = new SimpleDateFormat("yyyy'年'MM'月'dd'日'");
   6:String nowDate = objFormat.format(objDate);
   13:今日は<%= nowDate %>です。

 また、仕様④はJSP全体の記述の定義になので、Javaの処理部分と表示部分を分けて記述します。
 以上の点に問題がなければ、ソースコードに若干の違いがあっても問題はありません。


NEXT>> 第7章 コンテキストパスを理解しよう