5月17日

Webアプリケーション開発の基本

EclipseでWebアプリケーションを開発するには、そのためのプロジェクトを作成する。
基本的なWebアプリケーションの場合、「動的Webプロジェクト」を作成する。

Webアプリケーションを作成する場合、Eclipseのパースペクティブを「JavaEE」に切り替えると便利。
メニューから[ウィンドウ]-[パースペクティブ]-[パースペクティブを開く]-[その他]を選択し、ダイアログで「JavaEE」を選択する。

動的Webプロジェクト作成後、「新規サーブレット」を作成する。
名前:HelloServlet
スタブは doGet() のみを選択する。

生成された HelloServlet のコードに、テキストの「リスト16-7」のコードを記述する。

画面下側のフレーム内にある「サーバー」タブを選択する。

Webアプリケーションを動作させるためのサーバーを作成する。
「使用可能なサーバーがありません。・・・」をクリックする。

「Tomcat8サーバー」を選択して「次へ」をクリック。
「すべて追加」または「web」プロジェクトを選択して「追加」をクリックし、「web」を右側に移動する。
「完了」をクリック。

サーバータブにTomcat8サーバーが現れるので、右クリックして「開始」をクリックする。

Eclipseのツールバーの「Webブラウザーを開く」(地球のアイコン)をクリックしてWebブラウザを開く。
アドレスバーに「http://localhost:8080/web/HelloServlet」を入力してエンターすると、現在時刻が表示される。

JSP

JSPのサンプルを作成する。
プロジェクト名を右クリックし[新規]-[JSPファイル]を選択する。
ファイル名を「index.jsp」とする。
「次へ」をクリックするとテンプレートが表示されるので、そのまま「完了」をクリックし、JSPファイルを生成する。
WebContentフォルダの下に「index.jsp」が作られている。

JSPの基本

このあたりを参考にする。
サーブレット(Servlet) / JSP入門

JSPには以下の要素がある。
・スクリプトレット
・式
・宣言
・コメント

簡単なJSPの例

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="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>JSPサンプル</title>
</head>
<body>

<h1>JSPサンプル</h1>

<h2>スクリプトレット</h2>
<%
	out.println(new java.util.Date());
	for (int i = 0; i < 5; i++) {
		out.println("<div>i=" + i + "</div>");
	}
%>

<h2>式</h2>
<%= 5*5 %>

<h2>宣言</h2>
<%!
	int count = 0;
%>
<%=count %>

<h2>コメント</h2>
<!-- HTMLコメント -->
<%-- JSPコメント --%>

</body>
</html>

JSTL

JSTLは、JSP Standard Tag Libraryのことで、よく使われているタグライブラリ。

\\KGAKUSEI1\share\澤田\jstl\lib にある、以下の2ファイルをコピーする。
・jstl.jar
・standard.jar

プロジェクト内の WebContent/WEB-INF/lib に貼り付ける。

JSTLを使ったサンプルコードを index.jsp に追加する。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!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>JSPサンプル</title>
</head>
<body>

<h1>JSPサンプル</h1>

<h2>スクリプトレット</h2>
<%
	out.println(new java.util.Date());
	for (int i = 0; i < 5; i++) {
		out.println("<div>i=" + i + "</div>");
	}
%>

<h2>式</h2>
<%= 5*5 %>

<h2>宣言</h2>
<%!
	int count = 0;
%>
<%=count %>

<h2>コメント</h2>
<!-- HTMLコメント -->
<%-- JSPコメント --%>

<h2>JSTL</h2>
<c:set var="data" value="てすと!!" />
<c:out value="${data}" />


</body>
</html>

文字化けしている人は、以下の設定を確認する。
[ウィンドウ]-[設定]
左側のツリーで[Web]-[JSPファイル]を選択する。
エンコードを「UTF-8」に設定して「OK」する。