ITちゃんねる

仕事に役立つIT業界の最新ニュース

EclipseでWebプロジェクトを作ってみよう(2)〜WTPプラグインと動的Webプロジェクト

本連載ではIDEの1つであるEclipseを紹介していきます。Eclipseが世に出てから20年以上は経過していますが、いまだにデファクトスタンダードという不動の地位にいます。歴史もあり、さまざまな開発者に利用されている割には、Eclipseの入門にあたるようなまとまった情報源は意外と少ないといえます。本連載がその一助となれば幸いです。前回は、Eclipse Tomcat PluginのTomcatプロジェクトを利用して、EclipseでJavaのWebアプリケーションを作る方法の1つを紹介しました。今回は、もう1つの方法であるWTPプラグインを利用した方法を紹介します。

WTPによるWebプロジェクトの基本

前回紹介したように、アプリケーションサーバで動作するEEアプリケーションを作成する場合は、WTPを利用します。実際に、プロジェクトを作成しながら、その方法を紹介していきます。

WTPの利用はJava EEパースペクティブ

本連載において、前回までのEclipseの使い方の紹介にはJavaパースペクティブを利用してきました。一方、WTPを利用する場合は、Java EEパースペクティブを利用するので、まずパースペクティブの切り替えを行っておきましょう。

パースペクティブの切り替えについては、第1回で紹介しています。そちらを参考にしながら、図1のパースペクティブ選択ダイアログを表示させ、[Java EE]パースペクティブを選択して、[開く]をクリックしてください。

図1: パースペクティブ選択ダイアログ

すると、Eclipseの画面が図2のように変わります。

図2: 表示されたJava EEパースペクティブ

一番の違いは、左側に表示されていたパッケージエクスプローラーが、プロジェクトエクスプローラーになっています。

EEアプリケーションは動的Webプロジェクト

このプロジェクトエクスプローラーを右クリックして[新規]メニューを選択すると、表示されるメニュー内容が図3のようにパッケージエクスプローラーとは違うものになっています。これは、[ファイル]メニューから[新規]を選択しても同様です。

図3: プロジェクトエクスプローラーでの[新規]メニュー

これら[新規]メニュー中にある[動的Webプロジェクト]がEEアプリケーションを作成するプロジェクトです。早速、[動的Webプロジェクト]を選択してください。図4のウィザードが表示されます。

図4: 新規動的Webプロジェクト作成画面

いくつか入力項目や選択項目がありますが、基本的に、以下の[プロジェクト名]と[ターゲットランタイム]を入力、選択すれば問題ありません。順に解説していきます。

プロジェクト名

その名の通り、プロジェクト名を入力します。ここでは、「FirstEEProject」としています。

ターゲットランタイム

このプロジェクトで作成するアプリケーションを動作させるアプリケーションサーバを選択します。デフォルトでは、「Tomcat6(Java6)」「Tomcat7(Java7)」「Tomcat8(Java8)」「Tomcat9(Java11)」「なし」の選択肢が用意されています。ここでは、選択肢の中で最新の「Tomcat9(Java11)」を選択してください。なお、ドロップダウン右横の[新規ランタイム]機能を利用して、このリストにないアプリケーションサーバを登録することもできます。この方法については後述します。

このドロップダウンリストから「Tomcat9(Java11)」を選択すると、自動的に[動的Webモジュールのバージョン]と[構成]が、図4のようにTomcat9に合わせて変わります。ここからさらに変更することもできますが、特段の理由がない限り、自動選択のままにしておきます。

図4の画面に入力と選択を終えた状態で[完了]をクリックすると、動的Webプロジェクトが作成されます。ただし、このままではコンテキストルートがプロジェクト名のままとなってしまいます。もちろん、プロジェクト作成後に変更は可能ですが、このプロジェクト作成ウィザードの第3画面でも設定できます。そのため、この初第1画面で完了とせずに、[次へ]をクリックして続きの画面を見ていきましょう。第2画面は図5のようになっています。

図5: 新規動的Webプロジェクト作成第2画面

この画面は、ソースファイルとそのファイルがコンパイルされたクラスファイルの格納先フォルダの設定画面です。こちらはデフォルトのままでかまわないので、そのまま[次へ]をクリックしてください。図6の第3画面が表示されます。

図6: 新規動的Webプロジェクト作成第3画面

[コンテキストルート]の入力欄があります。図6の通りに、デフォルトはプロジェクト名のままとなっています。これを、「czee」と変更した上で、[完了]をクリックしてプロジェクトを作成してください(図7)。

図7:コンテキストルートを変更

なお、[コンテンツディレクトリー]は、「アプリのルートディレクトリ」のことです。こちらは、特に変更の必要はありません。

動的Webプロジェクトの構成

作成された動的Webプロジェクトは、図8のフォルダ構成となっています。

図8:動的Webプロジェクトのフォルダ構成

図8中に主要な構成要素については内容を記載しています。これを見ると、前回紹介したWARファイル構成とは少し違う構成になっています。その種明かしについても前回紹介しており、動的Webプロジェクトは、このプロジェクト内に存在するファイル類を、自動的にWARファイル構成に構成し直した上でアプリケーションサーバにデプロイする仕組みとなっています。そのため、プロジェクト上は、WARファイル構成になっている必要がありません。

ここで、図8中に記載のない構成要素について補足しておきましょう。まず、「JAX-WS Webサービス」は、このプロジェクト中にJAX-WSの仕組みを利用したコードが記述された.javaファイルがある場合、その内容をビジュアルに表示してくれるツールです。

「JREシステムライブラリー」「Apache Tomcat v9.0」は、外部の参照ライブラリです。

「デプロイメント記述子」は、web.xmlを解析してビジュアルに表示してくれるツールです。「META-INF」フォルダは、生成されたwarファイルに関する情報(メタ情報)を記載したファイル類を格納するフォルダです。

サーブレットの作成も専用ウィザード

動的Webプロジェクトでサーブレットを作成する場合、もちろん、[新規]メニューから[クラス]を選択して通常のクラスとして作成してもよいです。一方、専用のウィザードが用意されているので、そちらを利用していきましょう。プロジェクトエクスプローラーでプロジェクトフォルダ(FirstEEProjectフォルダ)を右クリックして、
[新規] > [サーブレット]
を選択してください(図9)。

図9:サーブレットの作成には専用メニューを利用する

すると、図10の画面が表示されます。

図10:サーブレット作成画面

パッケージ名やクラス名など必要事項を入力して、[完了]ボタンをクリックすればサーブレットクラスが所定の位置に作成されます。しかも、図11のように、あらかじめサーブレットクラス内に、@WebServletアノテーションやコンストラクタ、doGet()やdoPost()メソッドなどが雛形として記述されています。

図11:作成されたサーブレットにはあらかじめコードが記述されている

このあらかじめ記述されたコードについては、図10の画面で[完了]をクリックせずに、[次へ]をクリックして表示される図12の第2画面や図13の第3画面であらかじめ設定、選択できるようになっています。

図12:サーブレット作成第2画面
図13:サーブレット作成第3画面

EclipseでWebプロジェクトを作ってみよう(2)〜WTPプラグインと動的Webプロジェクト