Eclipse の使い方 Servlet 編
Eclipse で Servlet
を実行する方法を紹介する。
サーブレットコンテナーとして Apache Tomcat を使用する。
Eclipse の機能は膨大なので、ここですべての機能を紹介することはとてもできない。
このページでは、本実験でよく使うと思われるごく一部の機能を紹介する。
Servlet ではない、通常の Java アプリケーション・アプレットの場合は、
「ソフトウェア工学演習Ⅱ」の
Eclipse の使い方 Java
アプリケーション編を見よ。
動的 Web プロジェクトの作成
動的 Web プロジェクト (Dynamic Web Project) は Java Servlet/JSP
などのためのプロジェクトであり、Servlet
の実行に必要な設定ファイルを自動生成してくれる。
- 「ファイル (File)」―「新規 (New)」―「プロジェクト (Project..)」で現れる
「ウィザードを選択 (Select a wizard)」というウインドウで
「Web」を展開し、
「動的 Web プロジェクト (Dynamic Web Project)」を選択して、
「次へ (Next)」をクリックする。
- 「プロジェクト名 (Project name)」は英数字で適当につけて、
「ターゲット・ランタイム (Target runtime)」が「Apache Tomcat v8.0 」
になっていることを確認して、「終了 (Finish)」をクリックする。
「ターゲット・ランタイム」が「<なし> (<None>)」 になっている場合、
- 右の「新規 (New..)」を クリックし、
- 「ランタイム環境のタイプを選択 (Select the runtime type:)」で、
「Apache」—「Apache Tomcat v8.0」)
を選択し、インストール先ディレクトリを
「C:\Program Files\Apache Software Foundation\Tomcat 8.0」
にして
「終了 (Finish)」をクリックする。
(以下の説明では JouhouKankyouJikken2
というプロジェクト名をつけると仮定する。)
- プロジェクトの encoding を UTF-8 にする。
-
「パッケージエクスプローラー (package explorer)」で先ほどインポートしたプロジェクト
(JouhouKankyouJikken2) を右クリックし、「プロパティー (properties)」をクリックする。
- 「リソース (Resource)」をクリックして、「テキスト・ファイルのエンコード (Text file encoding)」を
「その他 (others)」にクリックして、その右のメニューから「UTF-8」を選択する。
- 「OK」をクリックする。
以降、本実験で作成するプログラムは、
基本的にすべてこのプロジェクト内に作成すれば良い。
(指示のない限り)プロジェクト内にフォルダーを作成しないこと。
Java はソースファイルの階層がパッケージという概念と密接に関連するため、
フォルダーを変更してソースファイルを作成すると、例題のままでは動かなくなる。
HTML・JSPの作成へ
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=UTF-8");
PrintWriter out = response.getWriter();
out.println("Hello World!");
out.close();
}
- 「ファイル (File)」―「保管 (Save)」(もしくは Ctrl+s)でファイルの保存と同時に自動的にコンパイルされる。
Servlet・HTML・JSPの実行へ
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)」で、
「サーバーで実行 (Run on Server)」
というウインドウが現われるので、「Tomcat v8.0 Server at localhost」
を選択していることを確認して、「終了 (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 予防のため省略します。)