前回の連載では、画面を作るための手順とMyEclipseビジュアルJSPデザイナーを使っての具体的な画面作成について学びました。今回は、アプリケーションの要であるサーブレットを作る方法について解説します。なお、前回予告したEJB作成については、次回解説します。
Bankサーブレットの概要
これから作るBankアプリケーションのサーブレット(Bankサーブレット)の仕様を押さえておきましょう。Bankサーブレットは図1で示すように、業務処理を行うEJBを呼び出したり、画面の表示を行うJSPを呼び出したり、アプリケーション全体をコントロールします。
ここで、作成するサーブレットの情報を表1のように決めておきます。
表1 サーブレットの情報
項目 | 意味 | 値 |
サーブレット名 | サーブレットの名称 | BankServlet |
ソースフォルダ | サーブレットのソースを格納するフォルダ | Bank_Web/src |
パッケージ | パッケージ名称 | bank.servlet |
サーブレットマッピングURL | サーブレットが処理するURLのパターン | BankServlet |
Bankサーブレットを作る
最初にサーブレットのひな形を作ります。手順は次のとおりです。
- Eclipseのメインメニューから[ファイル(F)]-[新規(N)]-[その他(O)]をクリックします
- 「新規」ダイアログが表示されるので、[MyEclipse]-[Web]-[サーブレット]を選択します
- 「新規サーブレット」ダイアログの「サーブレット・ウィザード」ページが表示されるので、表1で決めた値を設定します(図2)
- 「XMLウィザード」ページが表示されるので、サーブレットの情報をweb.xmlに反映するため、[web.xmlファイルの生成/マップ]をチェックします。各項目には、表1で決めた値を設定します(図3)
- [終了(E)]ボタンをクリックするとサーブレットのひな形とweb.xmlが更新されて、エディタエリアに表示されます
画面との情報のやりとり
この例では業務画面からデータの入力があるので、送信にはPOSTリクエストを使用します。サーブレット側ではこれをdoPostメソッドで処理します。doPostメソッドは表2に示す2個の引数を持ちます。この引数で画面との情報をやりとりします。
表2 doPost/doGetメソッドの引数
型 | 説明 |
HttpServletRequest | 画面からの入力データが格納されているので、サーブレットはここからデータを取得する |
HttpServletResponce | 画面に出力したいデータをここに格納する |
なお、画面からのデータ入力がなく、単純にページを呼び出す場合はGETリクエストが使用されます。サーブレット側ではこれをdoGetメソッドで処理します。doGetメソッドもdoPostメソッドと同様、画面と情報をやりとりするための2個の引数を持っています。
EJBの呼び出し
EJBの呼び出しには、@EJBアノテーションを使用します。EJBにはインタフェースを通じてアクセスします。たとえばEJB名称が「BankEJB」、インタフェースクラスが「BankIF」の場合、BankEJBのメソッド「send(UserID, Money)」を呼び出すには次のようにします。
次回は、プログラムロジックであるEJBの作成について解説します。
ココがポイント
今回のポイントとなるのは、以下の用語です。これらの説明ができるようにしておきましょう。
- サーブレットマッピングURL
- web.xml
- doPost/doGet
- HttpServletRequest/HttpServletResponce
- @EJBアノテーション
- 9/6(月)開催「Eclipse DemoCamps Helios 2010/Tokyo」
- URL:http://wiki.eclipse.org/Eclipse_DemoCamps_Helios_2010/Tokyo
- Cosminexusでホッと一息 ~Cafe Cosminexus
- URL:http://www.cosminexus.com