練習問題 解答

6.5 練習問題 解答

問1

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

問2

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

➢ practice0601.java
1<%@page contentType= "text/html; charset=UTF-8" %>
2<%@page import= "java.util.Date, java.text.SimpleDateFormat" %>
3<%
4    Date objDate = new Date();
5    SimpleDateFormat objFormat = new SimpleDateFormat("yyyy'年'MM'月'dd'日'");
6    String nowDate = objFormat.format(objDate);
7%>
8<html>
9    <head>
10        <title>practice0601</title>
11    </head>
12    <body>
13        今日は<%= nowDate %>です。
14    </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章 コンテキストパスを理解しよう

f