[トライアル版連動企画]
Webアプリケーションの作成が一通り理解できる基礎講座


藤井 等
ボーランド株式会社
2000/12/26

第2回 サーブレット、JSPの開発と実行


 JSPを使った開発

 再びJBuilderに戻り、JSPの開発に移ろう。JSP(JavaServer Pages)は、HTMLに埋め込み可能なJavaプログラムである。JSPは、Webサーバ上のJSPエンジンで変換されてサーブレットが生成され実行される。クライアント側には、通常のHTMLコンテンツが配信される。JSPは、JSPウィザードで作成する。

■Beanを作ってみる

 JSPでは、Beanを使用することができる。Beanとは、JSPから利用されるクラスの一種であり、JSPからは、プロパティやメソッドを利用できる。JSPBeanでは、いくつかのスコープを選択できる。

スコープ
説明
page Beanのインスタンスは、ページ内でのみ有効である。次の呼び出し時まで、継続してBeanのプロパティを保持することはできない
session Beanのインスタンスは、クライアントセッション中で有効である。Beanは、クッキーを使用してクライアントごとにインスタンスを割り当てる
application Beanのインスタンスは、アプリケーション全体で有効である。複数のクライアントが、同一のBeanにアクセスする

 ここでは、JavaBeanウィザードを使って、JSPで使用するカウンターBeanを作成してみよう。[ファイル]→[新規作成]を実行し、[JavaBean]を選択する。

画面4 JavaBeanウィザード (クリックすると拡大します)

 ウィザードでは、次のように項目を設定する。

項目
パッケージ mywebapp
クラス名 CounterBean
親クラス java.lang.Object
オプション ([public]、[デフォルトコンストラクタを生成]をチェックする)

 [OK]ボタンを押してBeanを生成したら、内容ペインの[Bean]タブをクリックし、Beanデザイナーを表示する。[プロパティ]タブをクリックして、[プロパティの追加]ボタンを押し、次のようにプロパティを作成する。

項目
プロパティ名 counter
int
Getter (チェックする)
Setter (チェックする)
バインディング none

画面5 プロパティの追加 (クリックすると拡大します)

[ソース]タブをクリックして、コードエディタを表示し、以下のコードを追加する。これは、作成したcounterプロパティをカウントアップするメソッドである。

public void increment() {
  counter++;
}

■JSPウィザードを使う

  [プロジェクト]→[プロジェクトのメイク]を選択してプロジェクトをコンパイルしたら、[ファイル]→[新規作成]を実行して、[JavaServer Page]を選択する。

画面6 JSPウィザード (クリックすると拡大します)

JSPウィザードが起動したら、次のように項目を設定する。

項目
パッケージ mywebapp
名前 CounterJsp
InternetBeansタグライブラリを宣言 (チェックしない)
エラーページの生成 (チェックしない)
サンプルBeanの生成 (チェックしない)

 [次へ]ボタンを押して、[Beanの追加]ボタンを押す。ここで、先ほど作成したCounterBeanを選択する。追加したBeanに対する各設定項目は次のように指定する。

項目
クラス mywebapp.CounterBean
ID counter
スコープ application

 ウィザードを終了すると、JSPファイルが作成されプロジェクトに追加される。このJSPでは、CounterBeanを使ってアクセスカウンタを実装する。次のように、カウンタを増加させ、その内容を表示するコードを記述する。

<BODY>
<H1>
JBuilder で生成された JSP
</H1>
<% counter.increment(); %>
あなたは、<jsp:getProperty name="counter" property="counter" />人目のアクセスです。
</BODY>

 JSPでは、<% .. %> 内にJavaコードを記述する。Counterは、追加したBeanに指定したIDであり、JSP内で変数名として使用できる。increment()メソッドを呼び出し、カウンタを1つ増加させる。<jsp:getProperty … >は、プロパティを表示するコードである。このように記述することで、counterというIDのBeanのcounterプロパティを表示できる。これは、以下のコードと等価である。

<%= counter.getCounter() %>

 <%= … %> は、指定した変数の値を表示するタグである。

■JSPを実行してみる

  開発したJSPを開発環境内で実行するには、プロジェクトペインで、CounterJsp.jspを選択して、[Web実行]メニューを選択する。

画面7 JSPの実行  (クリックすると拡大します)

 Inprise Application Serverで、JSPを実行するには、まず、JSPファイルを html/public_htmlに配置する。使用するBeanは、classes/ 下のディレクトリに配置する。この例では、プロジェクトディレクトリ下のclasses/mywebapp/に生成されたCounterBean.classを、Inprise Application Serverをインストールしたディレクトリ下のclasses/mywebappにコピーする。

  ブラウザから次のようにURLを指定すると、JSPが実行されカウンタが表示される。

http://localhost:8080/CounterJsp.jsp

 今回作成したJSPに、カウンタ値を保存する機能を追加したものをダウンロード可能にした。参考にしてほしい。


JBuilderで学ぶWebアプリケーション構築(第2回)
  サーブレットを使った開発
  サーブレットウィザードを使う
  サーブレットを理解する
  サーブレットを実行してみる
JSPを使った開発
  Beanを作ってみる
  JSPウィザードを使う
  JSPを実行してみる


連載記事一覧

 



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間