参考サイトが分かりやすいです。
以下自分用にまとめ。
##JSP ( Java Server Pages )
- 画面表示とJava処理を行う橋渡しのjavaファイル
- 独自タグでJava処理と組み合わせることが可能
- HTML内にJavaプログラムが書ける
= つまりJSPもJavaファイル
= コンパイルされ.classファイルができる
##サーバ側の処理手順例
ユーザからJSPファイル(ここではindex.jsp)へリクエストがきた例だとこうなる
- index.jsp → index_jsp.java
・javaファイル(Servlet)へ変換 - index_jsp.java → index_jsp.class
・コンパイルされclassファイルが生成 - classファイルからJava処理実行
→ 出力するHTMLを生成 - 出力するHTMLをレスポンスとして返す
##JSP構文
名称 | 説明 | 構文 |
---|---|---|
テンプレート | HTMLで書かれた場所 | |
Pageディレクティブ | JSPの設定を定義する場所 | <%@page %> |
スクリプトレット | Javaプログラムを記入する場所 | <% %> |
スクリプト式 | 変数の値やメソッドの戻り値を出力する場所 | <%= %> |
JSPコメント | JSP内のコメントを記入する場所 | <%-- --%> |
Pageディレクティブ
<%@page で始まり、 %> で終わる。 JSPで使用する言語や JSPページの設定(文字コードなど)を指定する。importするライブラリを書く。
スクリプトレット
<% %> の中にJavaコードを書く。 複数行も書ける。HTMLと組み合わせて 跨いで書くこともできる。
スクリプト式
<%= で始まり、 %> で終わる。出力関数無しで式を評価して表示できる。
例
<%-- Pageディレクティブ --%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.ArrayList" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
ArrayList<String> list = new ArrayList<String>();
list.add("はしくれ");
list.add("エンジニア");
list.add("もどきの");
list.add("メモ");
%>
<h1>
<% for(int i = 0; i<list.size(); i++){ %>
<%-- スクリプト式 --%>
<%= list.get(i) %>
<% } %>
</h1>
</body>
</html>