インストールしたSysdeo Tomcat プラグインで簡単なアプリケーションを作成してみましょう。
シナリオはこんな感じです
1.hello.htmlで名前をテキストに入力
2.送信ボタンでhelloサーブレットに送信
3.helloサーブレットは「こんにちは **さん」というHTMLを表示
ではまずプロジェクトを作成しましょう。パッケージ・エクスプローラー上で右クリックし、表示されたメニューから「新規」-「プロジェクト」を選択します。「ウィザードを選択」では、「Java」-「Tomcat プロジェクト」を選択して「次へ」ボタンを押します。

プロジェクト名と、保存先を設定します。

ここではプロジェクト名を「sampleapp」とします。また、Tomcatのアプリケーションコンテキスト名となります。
保存先はデフォルトで <eclipseインストール先>workspace\プロジェクト名 となっています。変更したい場合は「デフォルトの使用」チェックを外して「ディレクトリー」テキストに場所を指定します。変更する場合は、パス末尾のディレクトリ名がプロジェクト名となるようにしましょう。
Tomcat プロジェクトの設定をおこないます。デフォルトのままでよいでしょう。

パッケージ・エクスプローラーに作成したプロジェクトが表示されます。

実際に指定したディレクトリ下に、Tomcatアプリケーションに必要なディレクトリ(WEB-INFとか)が作成され、各種ライブラリに対してのクラスパスも設定されています。
ではサーブレットを作りましょう。Javaクラスはパッケージエクスプローラーの「WEB-INF/src」下に作成します。また、パッケージ・エクスプロ−ラーではフィルタリングされ表示されませんが、「WEB-INF/src」に作成したJavaクラスソースは保存・更新のたびに「WEB-INF/classes」にコンパイルされて保存されます。
とりあえずサーブレットクラスを収めるために一つパッケージを作りましょう。「WEB-INF/src」の上で右クリックしてメニューを出し、「新規」-「パッケージ」を選択します。

パッケージ名は「hello」とでもしてOKボタンを押します。
次に作成された「hello」パッケージの上で右クリックしてメニューを出し、「新規」-「クラス」を選択します。

名前に「HelloServlet」と入力します。また、サーブレットなのでHttpServletクラスを継承する必要があります。eclipseでは親クラスを簡単に指定できます。「スーパークラス」行の「参照」ボタンを押します。

「スーパークラスの選択」ダイアログで、「型を選択してください」というテキストに、頭の「httpse」くらいまでで入力します。そうすると1文字入力するごとに、下の「一致する型」リストに入力文字でフィルタリングされたクラスが表示されます。リスト内で目的のクラスが特定できたら、クリックして青色反転させOKボタンを押します。

長いクラス名を入力する手間が省けるとともに、TYPOの抑制にもなりますね。
作成されたサーブレットのクラス名に警告の黄色い破線が表示されているかもしれません。HttpServletクラスはjava.io.Serializableインターフェイスをインクリメントしているため、serialVersionUIDを設定しないとこの警告が出ます。
要件にもよりますが、警告を止めてもかまわない場合は、メニュー「ウィンドウ」-「設定」で設定ダイアログを表示し、「Java」-「コンパイラー」-「エラー/警告」の、「潜在的なプログラミングの問題」の一番上「serialVersionUIDなしのシリアライズ可能クラス」の設定を「無視」にします。

これ出たらOKボタン。

今回はHTMLからサーブレットに対してPOSTさせるシナリオですので、doPostメソッドを実装しなければなりません。eclipseではメソッドのオーバーライド指定も簡単です。クラスソース内で右クリックして表示されるメニューから、「ソース」-「メソッドのオーバーライド/実装」を選択します。

スーパークラスのメソッドが一覧で表示されるので、オーバーライドしたいメソッドのチェックを押し、OKボタンを押します。

メソッドが貼りつきました。まぁ実装は自分で書かなければならないわけなんですが、引数や戻り値の型などでTYPOすることは無くなるわけです。引数の変数名は親クラスの実装のまま(doPostメソッドであれば、HttpServletRequest型の第1引数が「arg0」、HttpServletResponse型の第2引数が「arg1」)なので、お好みで変更します。今回は、「req」「res」としました。

タブとして表示されているクラス名の左に「*」が表示されていますが、これは「編集中」である、ということを表しています。ショートカットキー「Ctrl」+「S」で保存できます。
POST値を表示するコードを書きます。下の例ではまだ PriterWriter クラスをインポートしていないため、赤破線のエラーがついています。エラー個所にマウスカーソルを持っていくと、エラー内容がツールチップ表示されます。

ソースファイル上で右クリック(どこでも)して表示されるメニューから「ソース」-「インポートの編成」を選択します。これで自動的に必要なimport文が追加されます。複数箇所ある場合も一括で解決されます。クラスパスが通っているライブラリ中に複数の同名クラスがある場合は、一覧選択するダイアログが表示されます。

次にHTMLファイルを作成します。アプリケーションコンテキストルート下ならどこでも良いですが、「WEB-INF」や「WEB-INF/src」の下はJavaクラスだけを置くので避けましょう。また、ルート直下でも良いですが、数が増えてくると管理しずらくなるので、HTML用のディレクトリを作成しましょう。
「sampleapp」上で右クリックしてメニューを表示し、「新規」-「フォルダー」を選択します。

フォルダ名は「hello」とでもしてOKボタンを押します。
同様に、「sampleapp\pages」下に「hello」ディレクトリを作成しました。
また、ディレクトリの作成と同じ要領で、作成された「hello」ディレクトリ上で右クリックし、メニューの「新規」-「ファイル」を選択し、「hello.html」を作成しました。
作成された「hello.html」を編集しましょう。拡張子「.html」はデフォルトで、eclipse内部ブラウザに関連付けられているため、エディターで開くように指定します。「hello.html」ファイルを右クリックし、メニューの「アプリケーションから開く」-「テキスト・エディター」を選択します。

送信用のHTMLファイルを記述します。今はただのテキストエディターなので、タグによる色分けやコード・アシスタント機能はありません。今後のエントリーで、HTMLやJSPファイル用のプラグインを紹介していく予定です。

最後にアプリケーション用のweb.xmlファイルを作成します。「WEB-INF」上で右クリックし、表示されるメニューから「新規」-「ファイル」を選択します。(WEB-INF/src にしないように注意!)
ファイル名に「web.xml」を入力しOKボタンを押します。

web.xmlファイルに、サーブレットのマッピング情報を記述します。ここでもただのテキストエディターなので、そっけない感じですが、プラグインを入れれば管理しやすくできます。(今後のエントリー参照)

最後にデバッグの準備として「デバッグ」パースペクティブを表示しておきましょう。メニュー「ウィンドウ」-「パースペクティブを開く」-「デバッグ」です。一度開くとeclipseは状態を記憶し、再起動してもパースペクティブの表示は残ります。

ではTomcatを起動しましょう。既にTomcatが起動している場合は必ず終了させてから、ecilpse&Sysdeo Tomcat プラグインによるTomcat起動をおこなってください。起動は簡単、ツールボタンのにゃんこちゃんを押すだけです。左のボタンから、開始・停止・再起動となっています。

コンソールビューにわらわら〜、と起動状態が標準出力されます。「情報:Server startup」で起動完了です。

新しくTomcatアプリケーションが作成されたので、JK2設定も追加しておきます。<Apacheインストール先>\conf\workers2.properties ファイルをエディタで開き、uri設定を追加します。今回のアプリケーションは「sampleapp」なので、以下のとおりとなります。

workers2.properties を編集したら忘れずにApacheを再起動してください。
では、ブラウザからhtmlファイルを開きましょう。今回のサンプルだと「http://localhost/sampleapp/pages/hello/hello.html」となります。

名前を入力して送信ボタンを押すと…
表示されましたね?
