転職を繰り返したサラリーマンの多趣味ブログ

30才未経験でSEに転職した人の多趣味ブログ

【技術書メモ】基礎からのサーブレット⑥

JSPとは

HTMLの中にJavaコードを埋め込んだもの。JSPファイルがブラウザから呼び出されると、アプリケーションサーバJSPファイルから、サーブレットのプログラムを生成、コンパイルを行う。その後、サーブレットとして実行する。
uuc1h.hatenablog.jp
tomcatの場合、JSPファイルから生成したサーブレットのソースファイル、クラスファイルは以下に配置される。
tomcat/work/Catalina/localhost/****/org/apache/jsp/

JSPの基礎構文

<%-- <%@ディレクティブ名 属性名="値" --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

<%-- メッセージの出力 --%>
<p>Hello!</p>
<p>こんにちわ!</p>

</body>
</html>

includeディレクティブ

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%-- includeディレクティブ:JSPファイルから別のファイルを読み込む --%>
<%-- <%@include file = "URL"%> --%>
<%@include file="../header.html" %>

<p>Hello!</p>
<p>こんにちわ!</p>

<%@include file="../footer.html" %>

スクリプトレット

JSPファイルにJavaプログラムを記述する方法の1つ。<% Javaプログラム; %>

<body>

<p>Hello!</p>
<p>こんにちわ!</p>

<%-- out 暗黙オブジェクト(生成しなくても使用できるオブジェクト) --%>
<%-- <% Javaプログラム; %> --%>
<p><% out.println(new java.util.Date()); %></p>

</body>

JSPファイルにJavaプログラムを記述する方法の1つ。
スクリプトレットとの違いは、Javaで記述した値を出力できること。

<body>

<p>Hello!</p>
<p>こんにちわ!</p>

<%-- 式 --%>
<p><%= new java.util.Date() %></p>


<%-- スクリプトレット --%>
<p><% out.println(new java.util.Date()); %></p>
</body>