Eclipse の使い方 Servlet 編
Eclipse(バージョン3.4 以降)で Servlet
を実行する方法を紹介する。
(Jetty という Eclipse に内蔵されているサーブレットコンテナを使用する。
なお、Apache Tomcat など他のサーブレットコンテナを使用することも可能である。)
Eclipse の機能は膨大なので、ここですべての機能を紹介することはとてもできない。
このページでは、本講習でよく使うと思われるごく一部の機能を紹介する。
Servlet ではない、通常の Java アプリケーション・アプレットの場合は、
「ソフトウェア工学演習II」の
Eclipse の使い方 Java
アプリケーション編を見よ。
動的 Web プロジェクトの作成
動的 Web プロジェクトは Java Servlet/JSP などのためのプロジェクトであり、
Servlet の実行に必要な設定ファイルを自動生成してくれる。
- 「ファイル (File)」―「新規 (New)」―「プロジェクト (Project..)」で現れる
「ウィザードを選択 (Select a wizard)」というウインドウで
「Web」を展開し、
「動的 Web プロジェクト (Dynamic Web Project)」を選択して、
「次へ (Next)」をクリックする。
- 「プロジェクト名 (Project name)」は英数字で適当につけて、
「ターゲット・ランタイム (Target runtime)」が「J2EE プレビュー」
(Servlet 3.0 を試すために Tomcat を利用する場合は「Apache Tomcat v7.0 サーバー」)
になっていることを確認して、「終了 (Finish)」をクリックする。
「ターゲット・ランタイム」が「<なし> (<None>)」 になっている場合、
- 右の「新規 (New..)」を クリックし、
- 「ランタイム環境のタイプを選択 (Select the runtime type:)」で、「基本」
—「J2EE プレビュー」(Tomcat を利用する場合は
「Apache」—「Apache Tomcat v7.0 サーバー」)
を選択し、「終了 (Finish)」をクリックする。
(以下の説明では JouhouKankyouJikken2 というプロジェクト名をつけると仮定する。)
以降、本講習で作成するプログラムは、
基本的にすべてこのプロジェクト内に作成すれば良い。
Servletの作成
- 「プロジェクト・エクスプローラー (Project Explorer)」の中でクラスを作成する
動的 Web プロジェクトを選択してから、
「ファイル (File)」―「新規 (New)」―「その他 (Other..)」を選択する。
- 「ウィザードを選択 (Select a wizard)」というウインドウで「Web」を展開し、
「サーブレット (Servlet)」を選択し、
「次へ (Next)」をクリックする。
- 「クラス名 (Class name)」に作成するクラスの名前を入力し、
「終了 (Finish)」をクリックする。
(以下の例では HelloServlet という名前をつけると仮定する。)
- クラス定義のテンプレートが表示されるので、
残りの部分を入力する。例えば、次のような import文:
import java.io.PrintWriter;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
を追加し、次のようなメソッドを定義する。
(灰色はテンプレートに既に用意されている部分である。)
…
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/plain; charset=Windows-31J");
PrintWriter out = response.getWriter();
out.println("Hello World!");
out.close();
}
- 「ファイル (File)」―「保管 (Save)」(もしくは Ctrl+s)でファイルの保存と同時に自動的にコンパイルされる。
注意:
サーブレットは必ず上記の方法で作成すること。
コピー・ペーストや「名前変更」などで作成しても、設定ファイル (web.xml)
が書き換えられないため、うまく動作しない。また、Java
ソースファイルの直接削除もしてはいけない。(Java
ファイルをコピペで作成・名前変更・削除した場合は、web.xml (Eclipse
のプロジェクト・エクスプローラーでは WebContent の下の WEB-INF の下の
web.xml)を編集する必要がある。)
HTML・JSPの作成
動的 Web プロジェクトの場合、HTML, JSP など Servlet 以外のコンテンツは
WebContent というフォルダに置く。
(このフォルダの内容がアプリケーションルートにコピーされる。)
-
「プロジェクト・エクスプローラー (Project Explorer)」の中でクラスを作成する動的
Web プロジェクトの
「WebContent」というフォルダを選択してから、
「ファイル (File)」―「新規 (New)」―「その他 (Other..)」を選択する。
- 「ウィザードを選択 (Select a wizard)」というウインドウで「Web」を展開し、
「HTML」(JSPの場合は「JSP」)を選択し、「次へ (Next)」をクリックする。
- 「ファイル名 (File name)」に作成するファイルの名前を入力し、
「終了 (finish)」をクリックする。
- テンプレートが表示されるので、残りの部分を入力する。
- http://localhost:8080/プロジェクト名/ファイル名 で見ることができる。
Servlet・HTML・JSPの実行
- 「実行 (Run)」―「実行 (Run As)」―「サーバーで実行 (Run on Server)」で、
「サーバーで実行」
というウインドウが現われるので、「localhost の J2EEプレビュー」
を選択していることを確認して、「終了 (Finish)」をクリックする。
サーバが起動するとともに
Eclipse 内に Web ブラウザが起動して、サーブレットが生成したページが表示される。
-
このときに「このプロジェクトを実行するときは常にこのサーバーを使用
(Always use this server when running this project)」をチェックしておくと、
以後にこのプロジェクト内に作成するサーブレットでは、同じ質問はされない。
-
一度サーバを起動したら、以降は、
- ソースを書き換えてセーブする。
- 「サーバー (Server)」タブの中で「サーバーを停止」()をクリックし、つづけて
「サーバーを再始動」()をクリックする。
(ターゲット・ランタイムに Tomcat を使った場合は、
書き換えてしばらく待っていると自動的に再起動する。)
- ブラウザの「現行ページの更新 (Refresh the current page)」()ボタンをクリックする。
の繰り返しになる。
- Eclipse 外部のブラウザ (IE や Firefox) でも
http://localhost:8080/JouhouKankyouJikken2/HelloServlet
と入力するとサーブレットが生成したページを見ることができる。
ただし、JouhouKankyouJikken2
の部分は自分のつけたプロジェクト名に、
HelloServlet はクラス名に置き換える。
さらなる参考リンク
Koji Kagawa (kagawa@eng.〜)
(〜の部分は SPAM mail 予防のため省略します。)