#JSPの基礎
JSPページとは何かについて簡単に見ていきます。そして実際にJSPページを作成した後で実行するまでの流れを確認しておきます。
第5章の目標:Spring4-MVC & JSP & JAVA8 & Tomcat8のプロジェクトを作成する。
##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ページの作成から実行までの一連の流れを確認していきます。
#JSP実行までの流れ
##エンコードをすべてUTF-8に変更
①ウインドウ ⇒ 設定 ⇒ encoding検索 (変更後は必ず適用ボタンクリック)
②エンコード検索 ⇒ UTF-8に変更(変更後は必ず適用ボタンクリック)
##新規プロジェクトの作成
①ファイル ⇒ 新規 ⇒ Springプロジェクト
プロジェクト名:kakeibo
テンプレート:Spring MVC Project
パッケージ:jp.co.kakeibo
JREシステム・ライブラリー ⇒ 右クリック ⇒ ビルド・パス ⇒ ビルド・パスの構成
編集 ⇒ ワークスペースのデフォルト(JAVA8)選択し、完了
##Tomcatの設定
Webサーバ(ホームページのファイルを置くサーバ)で動くJavaプログラムを「Java Servlet(サーブレット、Servlet)」と言います。
Apache Tomcatとは
サーブレットコンテナ(Java Servletを動かすときに必要なソフト)の一つです。
Tomcat v8.0 サーバーを選択、ランタイムはJAVA8、次へ
左下のローカル・ホストのTomccat8(Java8)をダブルクリック
右側のHTTP/1.1のポート番号8080はOracleで使っている場合が多いので8070に変更。⇒ 必ず保存
##サーバーで実行
kakeiboプロジェクトの上でマウス右クリック ⇒ 実行 ⇒ サーバーで実行クリック
Hello World!が表示されれば、Spring4-JAVA8-Tomcat8のプロジェクト作成成功!
第6章では、実際にJSPページを作成します。