エンタープライズ:特集 2003/08/01 12:50:00 更新


特集:第3回:WebSphereでサーブレットとJSP開発を始める (6/6)

条件を満たすコントローラを作ろう

 次の条件として、「検索条件が入力されない場合には一覧表示、入力されたら1人を表示」の結果を得るコントローラとなるサーブレットを作ることにする。

 J2EEナビゲーター上でパッケージ「yone.servlet」を右クリックし、「新規」−「サーブレット」を選択する。

1. パッケージ名に「yone.servlet」、クラス名に「EmpCtlServlet」を指定し、「終了」をクリックする。

 ここは、Javaプログラミングの世界である。クラス変数の追加、doGetメソッドの変更、initメソッドの追加の3つを行う。まず、クラス変数として以下を追加する。

RequestDispatcher scanPage;
RequestDispatcher empPage;

 以下のimport文が必要だが、コンテンツアシストを使って上手に追加してほしい。

import javax.servlet.RequestDispatcher;

 次に、サーブレットの初期化メソッドをオーバーライドする。手順は以下の通りだ。

1. サーブレットをエディタで表示した状態でアウトラインビューを表示する。

2. EmpCtlServletを右クリックし、「型階層を開く」を選択する。

3. 階層ビューが表示される。下半分に見られるウィンドウのボタン「すべての継承メンバーの表示」をクリックして表示変更し、以下のエントリーを右クリックする。

init(ServletConfig) - javax.servlet.GenericServlet

4. 「'EmpCtlServlet'」でオーバーライドをクリックする。これでオーバーライド用のinitメソッドが追加されたはずだ。中身を以下のように記述しよう。

scanPage = arg0.getServletContext().getRequestDispatcher("/ScanResult.jsp");
empPage = arg0.getServletContext().getRequestDispatcher("/EmpResult.jsp");
super.init(arg0);

 最後に、doGetメソッドの中身を以下のように記述する。

String key = req.getParameter("getEmployee_java_lang_String__empno");
if(key == null || key.equals("")) {
scanPage.forward(req,resp);
} else {
empPage.forward(req,resp);
}

 index.jspからこのメソッドを呼ぶように変更しよう。index.jspをダブルクリックしてエディタでオープンし(デザインで表示する)、フォームが作られている部分(破線で囲まれている)をクリックする。属性ビューにフォームの属性が表示されたら、アクションを「EmpCtlServlet」に変更する。

 ここでいったんテスト用サーバーを再起動しよう。「Ctrl」+「S」キーを押してからファイルを閉じ、index.jspを「サーバーで実行」クリックで実行してみよう。社員番号を入力しなければ一覧が表示され、入力すれば対応した社員が表示されるようになったはずだ。

 体裁を整える最後に、画面の作りを整えることにする。index.jsp、EmpResult.jsp、ScanResult.jspのどれでもよいのでダブルクリックしてページデザイナーで開く。

 左下のビューで「素材集」右下のビューで「サムネール」を表示する。素材集のツリー上で「イメージ」−「壁紙」を選択すると、サムネールビューには壁紙素材が表示されるので、どれかひとつをドラッグしてJSPの編集画面上にドロップすればよい。すると背景がその壁紙に置き換わるだろう。

 表示される文字列を選択して、「色」ビューで色を選択すれば文字の色が変わる。「Ctrl」+「B」キーで大文字、「Ctrl」+「U」キーで下線、「Ctrl」+「I」キーでイタリック体など、ワープロ感覚で体裁を編集することができる。

013javabeanweb.gif

今回の開発手順はほんの一例

 今回作成したアプリケーションのファイルの関連を図にまとめてみた。図中、黄色の部分がHTMLやJavaScriptの担当者が作業、緑色部分はJavaプログラミングを行う技術者が作業すればよい。画面設計から進めるか、コンポーネント設計から進めるかは、作りたいアプリケーションによって違うが、比較的入門しやすいのは画面から入る方法だろう。

 また、コントローラを「Struts」(ストラッツ)と呼ばれるオープンソースの実行フレームワークに任せてしまうという手もある。この場合、サーブレットを手作りする必要はなく、GUIのツールで画面遷移を定義していくことが可能だ。

ppt3.gif

 また、データベースに登録されているデータを、今回作成したWebアプリケーションのように検索するためのウィザードもあり、MVC型の「完成したWebページ」を自動生成させることもできる。ここで紹介したWeb開発手順は、WebSphere StudioでWebアプリケーションを開発するための手順の、極めて初歩的なものであり、使い込むほどに手放せなくなるツールだ。IBMのWebサイト(http://www.ibm.com/jp/software/websphere/)を見ると、開発手順などが盛りだくさんなので、ぜひご覧いただきたい。読者には、WebSphere Studioを使って効率よくWebアプリケーションが開発できるよう、鍛錬していただきたいと思う。

関連記事
▼連載第1回:「WebSphere」を知ろう
▼連載第2回:体験版でいますぐ始めるWebSphere入門
▼IBM、WebSphere Portal新版リリースへ
▼新たなWebSphereで企業向け「グリッド」を売り込むIBM
▼IBM、LinuxサポートのWebSphere新版
▼IBM Software World 2003 & IBM developerWorks Live! with WebSphere 2003 レポート

関連リンク
▼エンタープライズ Java

前のページ | 1 2 3 4 5 6 |      

[米持幸寿,ITmedia]