CodeZine(コードジン)

特集ページ一覧

EclipseでWebプロジェクトを作ってみよう〜TomcatプラグインとTomcatプロジェクト

20年経ってもデファクトスタンダードIDEのEclipse入門 第6回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2021/05/13 11:00

目次

Tomcatプロジェクトの実行とデバッグ

 サーブレットなど、ファイル類の格納先がわかったところで、次に、実際にサーブレットを実行させる方法を紹介します。

Tomcatの起動

 アプリケーションを実行させるには、まず、Tomcat本体を起動させておく必要があります。これは、Eclipse Tomcat Pluginを追加した際に、ツールバーに追加されたアイコンのうち、をクリックします。すると、コンソールに起動に関するログが表示され、最終的に、「情報: Server startup in ### ms」(###はミリセカンド数)というログが表示されていれば、Tomcatは無事起動しています(図10)。

図10: Tomcatの起動に関するコンソール表示
図10: Tomcatの起動に関するコンソール表示

 この状態で、ブラウザで次のURLにアクセスすると、図11のような画面が表示され、無事Tomcatが起動していることがわかります。

  • http://localhost:8080/
図11: 表示されたTomcatのトップページ
図11: 表示されたTomcatのトップページ

 なお、ツールバーのはTomcatの停止を、はTomcatの再起動を行うボタンです。

Tomcatのバージョン

 図11をみると、ここで起動したのは、Tomcatのバージョン8です。Pleiades All in Oneには、Tomcatのバージョン6、7、8、9が含まれています。デフォルト設定では、バージョン8が起動するようになっています。これを他のバージョンに変更するには、設定画面を開いて、[Tomcat]を選択します。図12のTomcatプラグインの設定画面が表示されるので、[Tomcat]のラジオボタンから任意のバージョンを選択し、そのバージョンに合致したTomcatフォルダを[Tomcatホーム]欄に指定します。

図12: Tomcatプラグインの設定画面
図12: Tomcatプラグインの設定画面

 なお、本稿は、Tomcatの使い方、および、Tomcatを利用したWebアプリケーションの作成方法を紹介するものではありません。あくまで、プラグインの解説なので、デフォルト設定のまま解説を続けますが、以降の内容は、最新のTomcatにも通用する方法です。

コンテキスト定義の更新

 無事Tomcatの起動が確認できたなら、いよいよアプリケーション(内のサーブレット)を実行させ、「Hello World!」をブラウザに表示させたいところですが、このままではまだ無理です。試しに、このサーブレットを実行する以下のURLにアクセスしても、404の画面が表示されるだけです(図13)。

  • http://localhost:8080/cztomcat/hello
図13: 404と表示された画面
図13: 404と表示された画面

 先述の通り、Tomcatプロジェクトの特徴は、Tomcatにwarファイルをデプロイすることなしにアプリケーションが実行できることです。ただし、そのためには、プロジェクト内のアプリケーションルートフォルダをTomcatに認識させる必要があります。現段階で404エラーとなったのは、FirstTomcatProjectプロジェクトのcztomcatアプリケーションを、Tomcatがまだ認識していないからです。

 Eclipse Tomcat Pluginには、このアプリケーションをTomcatに認識させる機能が含まれています。早速実行してみましょう。パッケージエクスプローラー上でプロジェクトフォルダであるFirstTomcatProjectを右クリックし、表示されたメニューから
[Tomcatプロジェクト] > [コンテキスト定義を更新]
を選択してください(図14)。

図14: コンテクスト定義の更新メニューを選択
図14: コンテキスト定義の更新メニューを選択

 すると、図15のようなダイアログが表示されます。このダイアログは[OK]をクリックして閉じてかまいません。

図15: コンテクスト定義の更新が完了したダイアログ
図15: コンテキスト定義の更新が完了したダイアログ

 しばらくすると、コンソール上に「情報: 配備記述子 [/…/cztomcat.xml] を配備します」というログが表示されます。この表示でもって、Tomcatがcztomcatアプリケーションを認識したことになります。

 この状態で、もう一度、先のURLにアクセスすると、図16の画面が表示され、無事、cztomcatアプリケーションが実行されているのがわかります。

図16: 「Hello World!」と表示されたブラウザ画面
図16: 「Hello World!」と表示されたブラウザ画面

 なお、図14のメニュー中の[コンテキスト定義を除去]は、その名の通り、Tomcatからアプリケーションの認識を削除することを意味します。

Tomcatプロジェクト内の変更は即時反映

 このTomcatプロジェクトの優れたところは、Eclipse内での変更がすぐに反映されることです。

 例えば、HelloServlet.javaファイル内のコードを変更し、保存を行います。コンパイルエラーなどなければ、自動でコンパイルされます。その後、Tomcatがその内容を検知し、コンソールに次のようなログを表示させます。

情報: このコンテキストの再ロードを開始しました […]
情報: このコンテキストの再ロードが完了しました […]

 この時点で、変更は既に反映されています。

 さらに、サーブレット以外のJSPファイルや静的ファイルなどは、即時に反映されます。もし、変更が反映されていないように思える場合は、前項で紹介した[コンテキスト定義の更新]を再度実行すれば、反映されます。

 つまり、アプリケーションの再デプロイの必要がなく、次々と、変更→確認の作業を行なっていくことができるのが、このTomcatプロジェクトの最大の魅力です。

デバッグもブレークポイントを置くだけ

 第3回で紹介したように、Eclipseでのデバッグは、ブレークポイントを設置して、そこで処理を停止させることが可能です。これは、Tomcatプロジェクトでも例外ではありません。

 しかも、Javaプロジェクトの場合は、デバッグ実行の必要がありましたが、Tomcatプロジェクトでは、その必要すらありません。単にブレークポイントを設置するだけです。ブレークポイントの設置方法も、Javaプロジェクト同様に、ソースコード左横をダブルクリックするだけです。その状態で、単にブラウザから該当URLにアクセスします。すると、そのブレークポイントで処理が停止します。

 試しに、図17は、先のHelloServlet内にブレイクポイントを設置し、先のURLに再度アクセスした際のEclipseの画面です。

図17: ブレークポイントで処理が停止しているEclipseの画面
図17: ブレークポイントで処理が停止しているEclipseの画面

warファイルの作成

 最後に、Tomcatプロジェクトでwarファイルを作成する方法を紹介しておきましょう。Tomcatプロジェクトがwarファイルの作成によるデプロイが不要といっても、それはあくまでローカル環境での開発段階の話です。サーバ環境では、warファイルを作成してデプロイする必要があります。そのようなwarファイルの作成にも、Eclipse Tomcat Pluginは対応しています。

 それは、図14のプロジェクトフォルダを右クリックして表示されるメニューから
[Tomcatプロジェクト] > [プロジェクト設定に従いWARファイルを作成]
を選択するだけです。

 ただし、事前に、設定を行なっておく必要があります。これは、同じく、プロジェクトフォルダを右クリックして表示されるメニューから[プロパティー]を選択してください。表示された設定画面の左ペインから[Tomcat]を選択し、[WARエクスポート設定]タブを選択してください。図18の画面が表示されます。

図18: warファイルに関する設定画面
図18: warファイルに関する設定画面

 この画面中の[エクスポートするWARファイル]欄に、エクスポート先パスをあらかじめ設定しておいてください。すると、そのパスにwarファイルが作成されるので、それをサーバ環境上のTomcatにデプロイすれば、同じくアプリケーションが動作するようになります。

まとめ

 今回は、EclipseでWebアプリケーションを開発するためのプラグインの1つとして、Eclipse Tomcat Pluginと、そのプラグインによって作成されるTomcatプロジェクトの使い方を紹介しました。次回は、予告した通り、もう1つのプラグインであるWTPによるWebアプリケーションの作成方法を紹介します。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:20年経ってもデファクトスタンダードIDEのEclipse入門

もっと読む

著者プロフィール

  • WINGSプロジェクト 齊藤 新三(サイトウ シンゾウ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きた...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5