Tomcatプロジェクトの実行とデバッグ
サーブレットなど、ファイル類の格納先がわかったところで、次に、実際にサーブレットを実行させる方法を紹介します。
Tomcatの起動
アプリケーションを実行させるには、まず、Tomcat本体を起動させておく必要があります。これは、Eclipse Tomcat Pluginを追加した際に、ツールバーに追加された
アイコンのうち、
をクリックします。すると、コンソールに起動に関するログが表示され、最終的に、「情報: Server startup in ### ms」(###はミリセカンド数)というログが表示されていれば、Tomcatは無事起動しています(図10)。
この状態で、ブラウザで次のURLにアクセスすると、図11のような画面が表示され、無事Tomcatが起動していることがわかります。
- http://localhost:8080/
なお、ツールバーの
はTomcatの停止を、
はTomcatの再起動を行うボタンです。
Tomcatのバージョン
図11をみると、ここで起動したのは、Tomcatのバージョン8です。Pleiades All in Oneには、Tomcatのバージョン6、7、8、9が含まれています。デフォルト設定では、バージョン8が起動するようになっています。これを他のバージョンに変更するには、設定画面を開いて、[Tomcat]を選択します。図12のTomcatプラグインの設定画面が表示されるので、[Tomcat]のラジオボタンから任意のバージョンを選択し、そのバージョンに合致したTomcatフォルダを[Tomcatホーム]欄に指定します。
なお、本稿は、Tomcatの使い方、および、Tomcatを利用したWebアプリケーションの作成方法を紹介するものではありません。あくまで、プラグインの解説なので、デフォルト設定のまま解説を続けますが、以降の内容は、最新のTomcatにも通用する方法です。
コンテキスト定義の更新
無事Tomcatの起動が確認できたなら、いよいよアプリケーション(内のサーブレット)を実行させ、「Hello World!」をブラウザに表示させたいところですが、このままではまだ無理です。試しに、このサーブレットを実行する以下のURLにアクセスしても、404の画面が表示されるだけです(図13)。
- http://localhost:8080/cztomcat/hello
先述の通り、Tomcatプロジェクトの特徴は、Tomcatにwarファイルをデプロイすることなしにアプリケーションが実行できることです。ただし、そのためには、プロジェクト内のアプリケーションルートフォルダをTomcatに認識させる必要があります。現段階で404エラーとなったのは、FirstTomcatProjectプロジェクトのcztomcatアプリケーションを、Tomcatがまだ認識していないからです。
Eclipse Tomcat Pluginには、このアプリケーションをTomcatに認識させる機能が含まれています。早速実行してみましょう。パッケージエクスプローラー上でプロジェクトフォルダであるFirstTomcatProjectを右クリックし、表示されたメニューから
[Tomcatプロジェクト] > [コンテキスト定義を更新]
を選択してください(図14)。
すると、図15のようなダイアログが表示されます。このダイアログは[OK]をクリックして閉じてかまいません。
しばらくすると、コンソール上に「情報: 配備記述子 [/…/cztomcat.xml] を配備します」というログが表示されます。この表示でもって、Tomcatがcztomcatアプリケーションを認識したことになります。
この状態で、もう一度、先のURLにアクセスすると、図16の画面が表示され、無事、cztomcatアプリケーションが実行されているのがわかります。
なお、図14のメニュー中の[コンテキスト定義を除去]は、その名の通り、Tomcatからアプリケーションの認識を削除することを意味します。
Tomcatプロジェクト内の変更は即時反映
このTomcatプロジェクトの優れたところは、Eclipse内での変更がすぐに反映されることです。
例えば、HelloServlet.javaファイル内のコードを変更し、保存を行います。コンパイルエラーなどなければ、自動でコンパイルされます。その後、Tomcatがその内容を検知し、コンソールに次のようなログを表示させます。
情報: このコンテキストの再ロードを開始しました […] 情報: このコンテキストの再ロードが完了しました […]
この時点で、変更は既に反映されています。
さらに、サーブレット以外のJSPファイルや静的ファイルなどは、即時に反映されます。もし、変更が反映されていないように思える場合は、前項で紹介した[コンテキスト定義の更新]を再度実行すれば、反映されます。
つまり、アプリケーションの再デプロイの必要がなく、次々と、変更→確認の作業を行なっていくことができるのが、このTomcatプロジェクトの最大の魅力です。
デバッグもブレークポイントを置くだけ
第3回で紹介したように、Eclipseでのデバッグは、ブレークポイントを設置して、そこで処理を停止させることが可能です。これは、Tomcatプロジェクトでも例外ではありません。
しかも、Javaプロジェクトの場合は、デバッグ実行の必要がありましたが、Tomcatプロジェクトでは、その必要すらありません。単にブレークポイントを設置するだけです。ブレークポイントの設置方法も、Javaプロジェクト同様に、ソースコード左横をダブルクリックするだけです。その状態で、単にブラウザから該当URLにアクセスします。すると、そのブレークポイントで処理が停止します。
試しに、図17は、先のHelloServlet内にブレイクポイントを設置し、先のURLに再度アクセスした際のEclipseの画面です。
warファイルの作成
最後に、Tomcatプロジェクトでwarファイルを作成する方法を紹介しておきましょう。Tomcatプロジェクトがwarファイルの作成によるデプロイが不要といっても、それはあくまでローカル環境での開発段階の話です。サーバ環境では、warファイルを作成してデプロイする必要があります。そのようなwarファイルの作成にも、Eclipse Tomcat Pluginは対応しています。
それは、図14のプロジェクトフォルダを右クリックして表示されるメニューから
[Tomcatプロジェクト] > [プロジェクト設定に従いWARファイルを作成]
を選択するだけです。
ただし、事前に、設定を行なっておく必要があります。これは、同じく、プロジェクトフォルダを右クリックして表示されるメニューから[プロパティー]を選択してください。表示された設定画面の左ペインから[Tomcat]を選択し、[WARエクスポート設定]タブを選択してください。図18の画面が表示されます。
この画面中の[エクスポートするWARファイル]欄に、エクスポート先パスをあらかじめ設定しておいてください。すると、そのパスにwarファイルが作成されるので、それをサーバ環境上のTomcatにデプロイすれば、同じくアプリケーションが動作するようになります。
まとめ
今回は、EclipseでWebアプリケーションを開発するためのプラグインの1つとして、Eclipse Tomcat Pluginと、そのプラグインによって作成されるTomcatプロジェクトの使い方を紹介しました。次回は、予告した通り、もう1つのプラグインであるWTPによるWebアプリケーションの作成方法を紹介します。
