JSPとはHTMLに直接Javaのコードを書き、実行させることができる仕組みである。
クライアントからの要求によって、Javaのコードが埋め込まれたページが呼ばれると、
サーブレットコンテナによりHTML内のJavaコードがコンパイルされ、その結果がクライアントに返される。
この処理もサーブレットコンテナが行っている。
\jakarta-tomcat-4.1.29\webapps\myworks\jsp
フォルダに、Test01.jspを作成。
Test01.jsp
<html>
<head>
<title>JSP Test</title>
</head>
<body>
<%
String str= "Hello JSP";
out.println(str);
%>
</body>
</html>
|
ブラウザに
http://localhost:8080/myworks/jsp/Test01.jsp
と打って Hello JSP と表示されればOK。
ちなみにこのとき表示されたページのソースを見ると
サーバー側で処理された結果が来ているのがわかる。
<html>
<head>
<title>JSP Test</title>
</head>
<body>
Hello JSP
</body>
</html>
|
もう1つサンプルを
Test02.jsp
<html>
<head>
<title>JSP Test02</title>
</head>
<body>
<%
int i;
for(i=1;i<8;i++) {}
out.println("i = " + i);
%>
<br>
<% for(int j=1;j<4;j++) { %>
j = <%= j %><br>
<% } %>
<br>
<% int k = 0; %>
<% k=k+1; %>
k = <%= k %>
<%! int l = 0; %>
<% l=l+1; %>
l = <%= l %>
<%
if ((l % 3) == 0) {
out.println("LLL");
}
%>
</body>
</html>
|
コードの部分を<% %>で囲めばいいので
HTMLのタグと混ぜることができる。
また、
<%= i %>
と書くことで、変数 i の値を出力することができる。
<%! %>
の中で宣言された変数はサーバが終了するまで保持してくれる。
データを保持してくれるのがサーバーサイドJAVAのいいところ。
試しに数回リロードしてみよう。
http://localhost:8080/myworks/jsp/Test02.jsp
for文を使ったのでif文のサンプルも書いてみた。変数 l が 3 で割り切れると LLL と出力する。
|
|