Eclipse の使い方 Servlet 編
Eclipse で Servlet
を実行する方法を紹介する。
サーブレットコンテナーとして Apache Tomcat を使用する。
Eclipse の機能は膨大なので、ここですべての機能を紹介することはとてもできない。
このページでは、本実験でよく使うと思われるごく一部の機能を紹介する。
Servlet ではない、通常の Java アプリケーション・アプレットの場合は、
「ソフトウェア工学演習Ⅱ」の
Eclipse の使い方 Java
アプリケーション編を見よ。
動的 Web プロジェクトの作成
Dynamic Web Project(動的 Web プロジェクト)は Java Servlet/JSP
などのためのプロジェクトであり、Servlet
の実行に必要な設定ファイルを自動生成してくれる。
- 「File(ファイル)」―「New(新規)」―「Project..(プロジェクト)」で現れる
「Select a wizard (ウィザードを選択)」というウインドウで
「Web」を展開し、
「Dynamic Web Project (動的 Web プロジェクト)」を選択して、
「Next (次へ)」をクリックする。
- 「Project name (プロジェクト名)」は英数字で適当につけて、
「Target runtime (ターゲット・ランタイム)」が「Apache Tomcat v8.0 」
になっていることを確認して、「終了 (Finish)」をクリックする。
「Target runtime」が「<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 (プロジェクト・エクスプローラー)」の中でクラスを作成する
Dynamic 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 (サーバー)」タブの中で「Stop the Server (サーバーを停止)」()をクリックし、つづけて
「Start the Server (サーバーを再始動)」()をクリックする。
(サーバーが Tomcat の場合は、
書き換えてしばらく待っていると自動的に再起動する。)
- ブラウザの「Refresh the current page (現行ページの更新)」()ボタンをクリックする。
の繰り返しになる。
- Eclipse 外部のブラウザ (IE や Firefox) でも
http://localhost:8080/JouhouKankyouJikken2/HelloServlet
と入力するとサーブレットが生成したページを見ることができる。
ただし、JouhouKankyouJikken2
の部分は自分のつけたプロジェクト名に、
HelloServlet はクラス名に置き換える。
さらなる参考リンク
Koji Kagawa (kagawa@eng.〜)
(〜の部分は SPAM mail 予防のため省略します。)