2003年度 データベース論

JSPの基本
J2EE I (データベース論)
第8回 / 2004-06-16
お知らせ


第1回レポート課題を出しています。締め
切りは6月16日(水)です。
http://www.wakhok.ac.jp/~tomoharu
/db2004/
ここでの内容

JSPの基本について理解する。
Webアプリケーションの仕組み (1)
3層モデル

J2EEの基本パターン
Webアプリケーションの仕組み (2)
Servlet と JSP



Webアプリケーションでは、ユーザからの
入力があると、その入力に応じたページを
「動的に」作成する。
Javaでは Servlet と JSP を使う。
どちらも「Webコンテナ」と呼ばれる環境の
中で動く。
Webアプリケーションの仕組み (3)
Servlet と JSP

Servlet



JSP




HttpServlet を継承する Javaプログラム。
HTML を埋め込める
ほとんどHTML
Javaプログラムを埋め込める
Webコンテナの内部ではServlet に変換される
普通は Servlet と JSP を組み合わせて使う。
JSP とは?


JavaServer Pages の略
HTML のソースに次のものを埋め込んで
いる。



特殊なタグ
Javaプログラム
Webコンテナの内部でServlet (Javaプログ
ラム) に変換される
JSP のサンプルから (1)
特殊なタグとJavaのプログラム
<%
for (int i = 1; i <=5; i++) {
%>
<p>サンプル <%= i %></p>
<%
}
%>
JSP のサンプルから (2)
for 文の対応関係
<%
for (int i = 1; i <=5; i++) {
%>
出力例)
<p>
サンプル<%= i %>
</p>
<%
}
%>
サンプル
サンプル
サンプル
サンプル
サンプル
1
2
3
4
5
JSP の要素 (1)
ディレクティブ

JSPページ全体に関わること
<%@ page pageEncoding=“Shift_JIS”
page contentType=“text/html;
charset=Shift_JIS” %>
<%@ page import=“java.uti.Date” %>
JSP の要素 (2)
宣言


JSP ページで利用される変数
変換された後の Servlet では、クラス中の
フィールドとなる。
<%! int i = 0; %>
<%! Circle c = new Circle(2.0); %>
JSP の要素 (3)
式


Javaの式
返す値に toString メソッドを適用して得ら
れる文字列に置き換わる
<%= i %>
<%= df.format(d) %>
JSP の要素 (4)
スクリプトレット

Javaのプログラム
<%
for (int i = 1; i <=5; i++) {
%>
<p>サンプル <%= i %></p>
<%
}
%>
現在の日時を表示する
サンプル (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>
現在の日時を表示する
サンプル (2)
<%
Date d = new Date();
DateFormat df =
DateFormat.getDateTimeInstance();
%>
<p>
いまは<br />
<%= df.format(d) %> <br />です。
</p>
Tomcat






Jakarta Project が作成している Webコン
テナ
Javaで書かれている
オープンソース
Servlet や JSP を動かすために必要
Apache に組み込んで使える
Tomcat 単独でも Webサーバとして使える
Tomcat のインストール


J2SE が必要
環境変数をセットする




JAVA_HOME と CATALINA_HOME
それぞれ、Java と Tomcat がインストールさ
れているフォルダを指定する
ポート番号を変更する (本学実習室の場
合)
インストール時に「NTサービス」にチェック
を入れない方がよい。
Tomcatに
Webアプリケーションを置く



%CATALINA_HOME%/webapps/ に配置
その中に test フォルダを作成する。
ひとつのファイル (war ファイル) にまとめても良い。
test/
|
|-- WEB-INF/ --- web.xml
|
|- classes/

|
|- lib/

|-- loop.jsp

必須
Servlet などのクラス
使用するライブラリ
JSP
web.xml (1)


Webアプリケーションの設定を記述する
XML ファイル
このファイルがなければ Webアプリケー
ションは動作しない。
web.xml (2)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>JSP_Samples</display-name>
<description>
JSP Samples
</description>
</web-app>
web.xml (3)
<web-app>
<display-name>
JSP_Samples
</display-name>
<description>
JSP Samples
</description>
</web-app>
Webアプリケーションへの
アクセス




どこのホストで動いている?
どのポートで動いている?
どのWebアプリケーションを動かす?
この例では
http://localhost:8080/test/loop.jsp