JSPとは

JSP (Java Server Pages) は、サーブレットと同じく、サーバーサイドで動きます。サーブレットクラスの代わりにJSPファイルを利用することで、JSPが使えます。

JSPファイルはリクエストされるとサーブレットクラスに変換されるため、サーブレットクラスでできることはJSPファイルでも行うことができます。

JSPファイルを使用すると、HTMLの出力を非常に楽にすることができます。

<%
String name = "名無し 権平";
int age = 32;
%>
<html>
  <head>
    <meta charset="UTF-8">
    <title>JSPのファイル</title>
  </head>
  <body>
    <p>私の名前は<%= name %>。年齢は<%= age %>歳です。</p>
  </body>
</html>

 

このように、HTMLコードの中にJavaのコードを書き込むことができます。

<% %> のなかにJavaのコードが含まれています。これをスクリプトレットといいます。

JSPファイルの特徴

  • リクエストして実行する
  • サーブレットクラスに変換され、サーブレットクラスと同じことができる
  • HTMLのなかにJavaのコードを埋め込む
  • サーブレットクラスより楽にHTMLを出力できる

JSPファイルの基本形

先ほど出たスクリプトレットを含め、基本形を一覧にしてみます。

スクリプトレット

<% Javaのプログラムコード %>

pageディレクティブ ContentTypeヘッダを指定

<%@ page contentType="text/html; charset=文字コード" %>

pageディレクティブ  クラス、インターフェイスをインポート

<%@ page import="パッケージ名・クラス名"  %>

JSPコメント

<%-- JSPコメント --%>

 

JSPサンプル文

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.Date,java.text.SimpleDateFormat" %>
<%
// 運勢をランダムで決定
String[] luckArray = {"超すっきり","すっきり","最悪"};
int index = (int) (Math.random() * 3);
String luck = luckArray[index];

// 実行日を取得
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日");
String today = sdf.format(date);
%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>すっきり占い</title>
</head>
<body>
<p><%= today %>の運勢は「<%= luck %>」です</p>
</body>
</html>

 

おすすめ: