前回の「Eclipse WTPプラグインの使い方 Tomcat設定 編」では WTPプラグイン上で Tomcat を動かすための設定を行いましたが、ステータスが「始動済み」となって動作確認終了というのも達成感がありませんので、今回は動作確認用 Servlet の作成と実際の動作までを行いたいと思います。

1. Tomcat 用プロジェクトの作成

最初に動作確認に使用するプロジェクトの作成を行います。
「ファイル」-「新規」-「プロジェクト」メニューから新規プロジェクト画面を開き、「Web」-「動的 Web プロジェクト」を指定して「次へ」ボタンを選択します。
赤び~の備忘録-20100602_01_WTP1

新規動的 Web プロジェクト画面で「プロジェクト名」「ターゲット・ランタイム」「動的 web モジュールバージョン」項目を指定します。
赤び~の備忘録-20100602_02_WTP2
「プロジェクト名」項目は任意 (例では「tomcat」としています)、「ターゲット・ランタイム」項目は前回作成した「Tomcat v6.0 サーバー」を、「動的 web モジュールバージョン」項目は Tomcat 6.x は Servlet 2.5 をサポートしているので 「2.5」を選択してください。

「完了」ボタンを選択すると、「tomcat」プロジェクトが必要最低限の構成で自動作成されます。
赤び~の備忘録-20100602_03_WTP3

2. Servletの作成

次に、動作確認時に呼ばれる Servlet の作成を行います。
「tomcat」プロジェクトを選択した状態から右クリックメニューで「新規」-「サーブレット」を選択すると、サーブレットの作成画面が表示されます。
赤び~の備忘録-20100602_05_WTP5

今回は次のように指定しました。
  ・「Javaパッケージ」項目に「test」を指定
  ・「クラス名」項目に「HelloServlet」を指定

「次へ」ボタンを選択すると、初期化パラメータやURLマッピングを選択する画面に遷移します。
赤び~の備忘録-20100602_06_WTP6

今回はデフォルトのままとして「次へ」ボタンを選択すると、作成するメソッドを選択する画面に遷移します。
赤び~の備忘録-20100602_07_WTP7

お約束のメソッドが並んでいますので、必要なメソッドを選択してください。
HelloServletクラスでは
  ・スーパークラスからのコンストラクター
  ・doGet
  ・doPost
を選択しました。

「完了」ボタンを選択することで、Servlet の雛型が作成されます。
赤び~の備忘録-20100602_08_WTP8

WTPプラグインでは web.xml への記述も自動的に行ってくれるので非常に便利です。

3. テストコードの追加

このままでも動作確認可能なのですが、真っ白な画面が表示されるだけですので簡単なテストコードを HelloServlet.java に追加します。

test.HelloServlet#doGet(...)
    /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().write("Hello, world.");
}

4. 動作確認

動作確認として、作成した HelloServlet を実行します。

HelloServlet を選択した状態で右クリックメニューから「実行」を選択してください。
実行するサーバを選択する画面が表示されますので、「Tomcat v6.0 サーバー」を指定してください。
赤び~の備忘録-20100602_09_WTP9
「このプロジェクトを実行するときは常にこのサーバーを使用」項目にチェックを入れると、次回以降の指定は不要となります。

「完了」ボタンを選択すると、(起動していなかった場合は)「Tomcat v6.0サーバー」が自動的に起動され、「内部 Web ブラウザー」ビュー上で HelloServlet の実行結果が表示されます。
赤び~の備忘録-20100602_10_WTP10

また、起動時に「実行」ではなく「デバック」を指定することで、通常のアプリケーションと同様にブレークポイントやステップ実行を使用することが可能です。
赤び~の備忘録-20100602_11_WTP11

[ END ]