Javaによる Webアプリケーション入門 第2回 JSPの基本 Javaによる Webアプリケーション入門 第2回
ここでの内容 JSPの基本について理解する。
Webアプリケーションの仕組み (1) 3層モデル J2EEの基本パターン
Webアプリケーションの仕組み (2) Servlet と JSP Javaでは Servlet と JSP を使う。 どちらも「Webコンテナ」と呼ばれる環境の中で動く。
Webアプリケーションの仕組み (3) Servlet と JSP HttpServlet を継承する Javaプログラム。 HTML を埋め込める JSP ほとんど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 メソッドを適用して得られる文字列に置き換わる <%= 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 がインストールされているフォルダを指定する ポート番号を変更する 本学実習室の場合
Tomcatに Webアプリケーションを置く %CATALINA_HOME%/webapps/ に配置 その中に test フォルダを作成する。 ひとつのファイル (war ファイル) にまとめても良い。 test/ | |-- WEB-INF/ --- web.xml 必須 | |- classes/ Servlet などのクラス | |- lib/ 使用するライブラリ |-- loop.jsp JSP
web.xml (1) Webアプリケーションの設定を記述する XML ファイル
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>
web.xml (3) <web-app> <display-name> JSP_Samples <description> JSP Samples </description> </web-app>
Webアプリケーションへの アクセス どこのホストで動いている? どのポートで動いている? どのWebアプリケーションを動かす? この例では http://localhost:8080/test/loop.jsp
本学の実習室について 実習は新館1Fで行います。 Windows2000 と Vine Linux のいずれかを利用できます。 ノートパソコンで実習を進めても構いません。 Windows 上でソフトウェアをインストールしたり、ファイルを保存するときには、Z ドライブをご利用ください。