参考サイトが分かりやすいです。
以下自分用にまとめ。

JSP ( Java Server Pages )

  • 画面表示とJava処理を行う橋渡しのjavaファイル
  • 独自タグでJava処理と組み合わせることが可能
  • HTML内にJavaプログラムが書ける
    = つまりJSPもJavaファイル
    = コンパイルされ.classファイルができる

サーバ側の処理手順例

ユーザからJSPファイル(ここではindex.jsp)へリクエストがきた例だとこうなる

  1. index.jsp → index_jsp.java
    ・javaファイル(Servlet)へ変換
  2. index_jsp.java → index_jsp.class
    ・コンパイルされclassファイルが生成
  3. classファイルからJava処理実行
    → 出力するHTMLを生成
  4. 出力するHTMLをレスポンスとして返す

JSP構文

名称 説明 構文
テンプレート HTMLで書かれた場所 <!DOCTYPE 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>

参考
http://cartman0.hatenablog.com/entry/2015/12/01/205220

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.