初めてのJSP 本章のプログラムを御覧の際には、Tomcatが必要です。
こちらからダウンロード出来ます。
ファイルはzipフォルダに納められています。
解凍ソフト(Aladdin
Expander等)を使って解凍して下さい。
ページの犠牲 初めに、此のページの犠牲を指定します。
JSPでは、属性を指定するタグは以下の様に書きます。 属性名は、下の表の中から必要な物を指定します。
複数の属性を指定したい時には、並べて書けます。 ページの属性名一覧
| 属性名 |
説明 |
例 |
| language |
何時も「 = "Java"」と書く |
language = "Java" |
| extends |
サーブレットの「extends」 |
殆ど不使用 |
| import |
ページの中で利用しているクラスが所属
パッケージを指定
サーブレットのimport
importしたいパッケージが複数有る時は、「,」で区切って並べる
以下のパッケージは指定が無くてもimport
Java.lang.*・javax.servlet.*・javax.servlet.http.*・javax.servlet.jsp.* |
import = "Java.util.*・Java.text.*" |
| session |
「true」の時session管理するが、「false」の時はsessionを作らない
デフォルトは「true」 |
session = "true" |
| buffer |
HTMLをクライアントを送信する際のバッファサイズをキロバイト単位で指定
デフォルトは「8KB」 |
buffer = "8KB" |
| autoFlush |
「true」の時、バッファを自動的にフラッシュ
指定が無ければ「true」 |
autoFlush = "true" |
| isThreadSafe |
「true」の時はマルチスレッドにし、「false」の時は「SingleThreadmodel」に
デフォルトは「true」 |
isThreadSafe = "true" |
| info |
此のJSPページに関する情報(作成日や制作者等)を記録
他のページから「getServletinfo()」で読み出す文字列を指定 |
info = "ore_ga_tukutta" |
| errorPage |
エラー発生時に表示するページを指定 |
errorPage = "err.html" |
| contentType |
HTTPヘッダの「ContentType」を設定
サーブレットの「setContentType」 |
contentType = "text/html;charset = Shift_JIS" |
| isErrorPage |
「true」である時、此のページがエラー発生時に呼び出されるページである事を示す |
isErrorPage = "true" |
| 例: |
<% page language = "Java" contentType
= "text/html;charset = Shift_JIS"
%> | HTMLの記述 通常のHTMLは、其の侭記述します。 JSP内にJavaの構文を書く JSP内にJavaの構文を埋め込むには、以下のタグで囲みます。 文の途中でも、Javaの命令の部分だけ此のタグで囲みます。
此のタグで囲まれた中には、Javaの命令を何でも書けます。
| 例: |
<% for(int i = 0;i < 3;i++){ %>
今晩は<BR> //「今晩は」を3回表示
<% } %> | 変数の内容をHTMLとしてクライアントに送信 通常の決まった文字(上の例「今晩は」の様に)で有れば其の侭書きますが変数の内容をHTMLとしてクライアントに送信するには、以下のタグで囲みます。 上記のタグは、変数の内容やメソッドを実行した結果等を送信したい時に使います。 「<%」と「%>」タグと組み合わせる事で、配列の内容を1つずつ送信出来ます。
| 例: |
<% for(int i = 0;i < kamoku.length;i++){
%>
<% = kamoku[i]+" " %>
<% } %> | クラス変数の宣言 「<%」と「%>」タグの中で、変数の宣言を行うと、ローカル変数として宣言されます。
クラス変数を宣言したい時には、以下のタグを使います。 クラス変数は、スレッドが終了しても継続して使えますが、其の反面、複数のスレッドが同時に起動されていてもクラス変数自体は1つしか存在しないので、取り扱いには注意が必要です。 上記の「total」は、JSPがロードされている間、最初の1回しか初期化されない為、合計値を求めようとすると履歴の全てを累積して計算されて終います。 HTMLのコメント文 HTMLにもコメントを沢山入れておきましょう。
HTMLでは、以下のタグで囲まれた部分は、無視されます。 此のタグは、HTMLのタグです。
従って、此のタグで囲まれた部分はブラウザでは非表示ですが、ソースで見られる状態でクライアントに送信されます。 JSPのコメント文 JSPにもコメントを沢山入れておきましょう。
「<%」と「%>」で囲まれた部分はJavaなので、Javaのコメント記述用の「/*」「*/」と「//」記号が其の侭使えます。
其の他に、下記のタグがJSPのコメント文となり、クライアントにも送信されません。 暗黙のオブジェクト JSPでは、宣言せずに使える暗黙のオブジェクト名が用意されています。
以下に一覧表を示します。 ページの属性名一覧
| 暗黙のオブジェクト |
変換後のクラス |
説明 |
| request |
ServletRequest |
サーブレットの「doGet」や「doPost」の1つ目の引数
クライアントからの要求情報を保持
<% request.getParameter(・・・); %> |
| response |
ServletResponse |
サーブレットの「doGet」や「doPost」の2つ目の引数
クライアントからの応答情報を保持
<% response.getWriter(); %> |
| pageContext |
PageContext |
PageContextクラスは、サーブレットで持っているセッションやオブジェクトの情報を管理するクラス
JSP内では、余り使われない |
| session |
HttpSession |
HttpSessionは、セッション情報を保持するクラス
<% session.getAttribute();
%> |
| application |
ServletContext |
ServletContextクラスは、サーブレットの環境情報を保持しているクラスで、APIのバージョンやファイルが実際に置かれているパス名等を取り出せるが、JSP内では、余り使われない |
| out |
JSPWriter |
クライアントに対する文字列の出力先
<% out.print(text); %> |
| config |
ServletConfig |
ServletConfigクラスは、サーブレットの設定情報を保持しているクラス
JSP内では、余り使われない |
| page |
Object |
サーブレットの「this」と同じ |
| exception |
Throwable |
「Throwable」は、エラー情報を保持するクラス |
戻る |