2003年度 データベース論

JSPの基本
Javaによる
Webアプリケーション入門
第2回
1
ここでの内容

JSPの基本について理解する。
2
Webアプリケーションの仕組み (1)
3層モデル

J2EEの基本パターン
3
Webアプリケーションの仕組み (2)
Servlet と JSP



Webアプリケーションでは、ユーザからの
入力があると、その入力に応じたページを
「動的に」作成する。
Javaでは Servlet と JSP を使う。
どちらも「Webコンテナ」と呼ばれる環境の
中で動く。
4
Webアプリケーションの仕組み (3)
Servlet と JSP

Servlet



JSP




HttpServlet を継承する Javaプログラム。
HTML を埋め込める
ほとんどHTML
Javaプログラムを埋め込める
Webコンテナの内部ではServlet に変換される
普通は Servlet と JSP を組み合わせて使う。
5
JSP とは?


JavaServer Pages の略
HTML のソースに次のものを埋め込んで
いる。



特殊なタグ
Javaプログラム
Webコンテナの内部でServlet (Javaプログ
ラム) に変換される
6
JSP のサンプルから (1)
特殊なタグとJavaのプログラム
<%
for (int i = 1; i <=5; i++) {
%>
<p>サンプル <%= i %></p>
<%
}
%>
7
JSP のサンプルから (2)
for 文の対応関係
<%
for (int i = 1; i <=5; i++) {
%>
出力例)
<p>
サンプル<%= i %>
</p>
<%
}
%>
サンプル
サンプル
サンプル
サンプル
サンプル
1
2
3
4
5
8
JSP の要素 (1)
ディレクティブ

JSPページ全体に関わること
<%@ page pageEncoding=“Shift_JIS”
page contentType=“text/html;
charset=Shift_JIS” %>
<%@ page import=“java.uti.Date” %>
9
JSP の要素 (2)
宣言


JSP ページで利用される変数
変換された後の Servlet では、クラス中の
フィールドとなる。
<%! int i = 0; %>
<%! Circle c = new Circle(2.0); %>
10
JSP の要素 (3)
式


Javaの式
返す値に toString メソッドを適用して得ら
れる文字列に置き換わる
<%= i %>
<%= df.format(d) %>
11
JSP の要素 (4)
スクリプトレット

Javaのプログラム
<%
for (int i = 1; i <=5; i++) {
%>
<p>サンプル <%= i %></p>
<%
}
%>
12
現在の日時を表示する
サンプル (1)
<%@ page pageEncoding="Shift_JIS"
contentType=“text/html;
charset=Shift_JIS" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.DateFormat" %>
<html>
<head>
<title>JSP: 現在の日時を示すサンプル</title>
</head>
13
現在の日時を表示する
サンプル (2)
<%
Date d = new Date();
DateFormat df =
DateFormat.getDateTimeInstance();
%>
<p>
いまは<br />
<%= df.format(d) %> <br />です。
</p>
14
Tomcat






Jakarta Project が作成している Webコン
テナ
Javaで書かれている
オープンソース
Servlet や JSP を動かすために必要
Apache に組み込んで使える
Tomcat 単独でも Webサーバとして使える
15
Tomcat のインストール


J2SE が必要
環境変数をセットする



JAVA_HOME と CATALINA_HOME
それぞれ、Java と Tomcat がインストールさ
れているフォルダを指定する
ポート番号を変更する

本学実習室の場合
16
Tomcatに
Webアプリケーションを置く



%CATALINA_HOME%/webapps/ に配置
その中に test フォルダを作成する。
ひとつのファイル (war ファイル) にまとめても良い。
test/
|
|-- WEB-INF/ --- web.xml
|
|- classes/

|
|- lib/

|-- loop.jsp

必須
Servlet などのクラス
使用するライブラリ
JSP
17
web.xml (1)


Webアプリケーションの設定を記述する
XML ファイル
このファイルがなければ Webアプリケー
ションは動作しない。
18
web.xml (2)
<?xml version='1.0' encoding='UTF-8'?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
web-app_2_4.xsd"
version="2.4">
<display-name>JSP_Samples</display-name>
<description>
JSP Samples
</description>
</web-app>
19
web.xml (3)
<web-app>
<display-name>
JSP_Samples
</display-name>
<description>
JSP Samples
</description>
</web-app>
20
Webアプリケーションへの
アクセス




どこのホストで動いている?
どのポートで動いている?
どのWebアプリケーションを動かす?
この例では
http://localhost:8080/test/loop.jsp
21
本学の実習室について




実習は新館1Fで行います。
Windows2000 と Vine Linux のいずれか
を利用できます。
ノートパソコンで実習を進めても構いませ
ん。
Windows 上でソフトウェアをインストール
したり、ファイルを保存するときには、Z ドラ
イブをご利用ください。
22