Javaに関する様々な情報をご紹介します。

1はじめてのJSP

Javaに関する様々な情報をご紹介します。

はじめてのJSP

このページでは、JSPの概要について解説します。

JSPの概要

JSP(Java Server Pages)とは、タグと混同して記述できるスクリプト言語です。Webアプリケーション開発においてプログラマとデザイナの作業を分離する目的で作成されました。JSPはデザイナに理解しやすいようにタグ形式でプログラムを記述できるようになっています。

JSPが実行されるときは、一度JSPコンテナ(Tomcatなど)によって、Servletに変換、コンパイルされ実行されます。これからもわかるように、JSPはServletをデザイナでも理解しやすいようにタグ化したものです。

Servletへの変換は初めてJSPにアクセスしたときに行われます。それ以降はコンパイルされたプログラムが実行されます。そのため、JSPに初めてアクセスしたときはそれ以降アクセスするときに比べて、プログラムの実行に時間がかかります。JSPプログラムを変更した際も、変更後のJSPプログラムに初めてアクセスしたときにJSPのServletへの変換、コンパイルが行われます。

JSPの構成要素

ここではJSPプログラムを構成する各構成要素の概要について解説します。各構成要素の詳細については、他のページで解説します。

ディレクティブ:<%@ ~ %>
JSPプログラムの特性を定義します。エンコード方式、Content-type、クラスのインポート、タグライブラリの指定、外部ファイルのインクルード指定などを行います。
宣言:<%! ~ %>
JSPプログラムで使用する変数、メソッドを宣言します。
スクリプトレット:<% ~ %>
JSPのタグだけでは記述できないプログラムに対して、このスクリプトレットの中で自由なJavaコードを記述します。
式:<%= ~ %>
変数、算術式、戻り値のあるメソッドなどを記述し、実行結果を出力します。
アクション:<jsp:~ />
JSPでは、JSPプログラム内で特定の動作をするタグがいくつか定義されています。リクエストを転送する<jsp:forward>タグ、JavaBeansを使用可能にする<jsp:useBean>タグなどがあります。
コメント:<%-- ~ --%>
JSPプログラム内のコメントを記述します。HTMLのコメントやJavaのコメントを入れ子にすることはできますが、同じJSPのコメントを入れ子にすることはできません。

使用例

変数xを0から1ずつ足していくプログラムをJSPで記述しています。

jspTest.jsp

<HTML>
<BODY>
<%-- (1) pageディレクティブでJSPプログラムの特性を定義 --%>
<%@ page language="java"
    contentType="text/html; charset=Windows-31J" %>

<%-- (2) 変数xを宣言 --%>
<%! int x = 0; %>

<%-- (3) スクリプトレット内でforループ処理を実行 --%>
<%
    for (int i = 0; i < 10; i++) {
        x++;
    }
%>

<%-- (4) 式で実行結果を表示 --%>
<H3>計算結果:<%= x %></H3>

</BODY>
</HTML>
  1. (1)pageディレクティブではJSPプログラムの特性を定義できます。ここでは、language属性でプログラム言語がjavaであること、contentType属性でContent-Typeがtext/html、文字エンコード方式がWindows-31Jであることを定義しています。
  2. (2)変数xを宣言し、初期化しています。
  3. (3)スクリプトレット内では、自由なJavaコードを記述できます。変数xを10まで1ずつ増加させる処理を記述しています。
  4. (4)式で変数xの値を表示しています。

【実行結果】JSPプログラムの実行方法に関しては、Javaの道:Tomcat(プログラム配置・実行)を参照してください。

Javaの道_jsp_実行結果

1はじめてのJSP