JSPとは

広告

JSPとはJavaServer Pageの略で、サーブレットと同じくサーバ上で動作させるものです。

サーブレットは全てJavaで記述されたコードで構成され、HTML文書などの出力する場合も全てJavaで記述していました。例えば次のようなものになります。

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {
  public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException{

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Hello World!</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("<h1>Hello World!</h1>");
    out.println("</body>");
    out.println("</html>");
  }
}

サーブレットを記述したファイルはテキストファイルですが、アプリケーションとして利用するためにはコンパイルを行ってクラスファイルを作成する必要があります。

これに対してJSPはHTMLページの中にJavaのコードを埋め込みます。プログラムで処理が必要な部分だけを記述することで、HTMLページの出力がメインの場合にはすっきりとした記述を行う事が出来ます。

例えば次のようなものになります。

<%@ page contentType="text/html;charset=Shift_JIS" %>

<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h1>Hello World!</h1>

<%
out.println(new java.util.Date());
%>

</body>
</html>

見て頂くと分かりますが基本はHTMLページですので、固定的に表示されるHTMLの部分は普通のHTMLページとして記述することが出来ます。そして動的に変化する部分だけをJavaを使って作成が行えるようになっています。その為、サーブレットは内部的な処理を記述するのに適しており、JSPは画面出力する処理を記述するのに適しています。

では、次のページでJSPページを作成してから実行までの一連の流れを確認していきます。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)