目指せ! Webアプリケーションエンジニア

第7回サーブレットを作るための手順

前回の連載では、画面を作るための手順とMyEclipseビジュアルJSPデザイナーを使っての具体的な画面作成について学びました。今回は、アプリケーションの要であるサーブレットを作る方法について解説します。なお、前回予告したEJB作成については、次回解説します。

Bankサーブレットの概要

これから作るBankアプリケーションのサーブレット(Bankサーブレット)の仕様を押さえておきましょう。Bankサーブレットは図1で示すように、業務処理を行うEJBを呼び出したり、画面の表示を行うJSPを呼び出したり、アプリケーション全体をコントロールします。

図1 Bankサーブレットの処理概要
図1 Bankサーブレットの処理概要

ここで、作成するサーブレットの情報を表1のように決めておきます。

表1 サーブレットの情報
項目意味
サーブレット名サーブレットの名称BankServlet
ソースフォルダサーブレットのソースを格納するフォルダBank_Web/src
パッケージパッケージ名称bank.servlet
サーブレットマッピングURLサーブレットが処理するURLのパターンBankServlet

Bankサーブレットを作る

最初にサーブレットのひな形を作ります。手順は次のとおりです。

  1. Eclipseのメインメニューから[ファイル(F)][新規(N)][その他(O)]をクリックします
  2. 「新規」ダイアログが表示されるので、⁠MyEclipse][Web][サーブレット]を選択します
  3. 「新規サーブレット」ダイアログの「サーブレット・ウィザード」ページが表示されるので、表1で決めた値を設定します図2
図2
図2
  1. 「XMLウィザード」ページが表示されるので、サーブレットの情報をweb.xmlに反映するため、⁠web.xmlファイルの生成/マップ]をチェックします。各項目には、表1で決めた値を設定します図3
図3
図3
  1. [終了(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(name=" BankEJB")	…@EJBアノテーションを設定する
private BankIF bank;	…BankIF型のフィールドbankを定義する
bank.send(UserID, Money);	…bankを使用して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

おすすめ記事

記事・ニュース一覧