Eclipse の使い方 Servlet 編
Eclipse で Servlet
を実行する方法を紹介する。
サーブレットコンテナーとして Apache Tomcat を使用する。
Eclipse の機能は膨大なので、ここですべての機能を紹介することはとてもできない。
このページでは、本実験でよく使うと思われるごく一部の機能を紹介する。
なお、このページで説明することには、“Eclipse IDE for Enterprise Java Developers”
が必要である。“Eclipse IDE for Java Developers” の場合は、
いくつか追加でプラグインをインスト―ルする必要がある。
(詳細は各自でググること。)
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」)
を選択し、「Next」をクリックする。
次の「Tomcat Server」という画面で
すでに、Tomcat をインストールしていた場合は、「Browse…」をクリックして、インストールしたディレクトリー
(おそらく「C:\Program Files\Apache Software Foundation\Tomcat 8.0
」)
を選択して「Finish」する。
Tomcat が未インストールの場合は、
「Download and Install…」をクリックする。
「フォルダーの選択」では「C:\Program Files\Apache Software Foundation\Tomcat 8.0
」のようなディレクトリー
を作成して、それを選択する。しばらく、“Unknown version of Tomcat was specified.”
のようなエラーメッセージが出ているが、それが消えるまで待つ(その間、右下に “Installing server
runtime environment (??%) ”のようなメッセージが出ている。)消えたら、「Finish」する。
注意: 必ず Tomcat v8.0 を選択する。
Tomcat v8.5 や v9.0 を選択すると、
先に、Tomcat のインストーラーを使って、インストールを済ませていると、
インストール先ディレクトリは、
「C:\Program Files\Apache Software Foundation\Tomcat 8.5」
のような場所になってしまう。そうすると Eclipse を管理者権限で実行しない限り、
エラーがでて、ここから先に進めなくなってしまうようである。
(以下の説明では OOPLServlets
というプロジェクト名をつけると仮定する。)
- プロジェクトの encoding を UTF-8 にする。
-
「package explorer (パッケージエクスプローラー)」で先ほどインポートしたプロジェクト
(OOPLServlets) を右クリックし、「properties (プロパティー)」をクリックする。
- 「Resource (リソース)」をクリックして、「Text file encoding (テキスト・ファイルのエンコード)」を
「others (その他)」にクリックして、その右のメニューから「UTF-8」を選択する。
- 「Apply and Close」をクリックする。
以降、本実験で作成するプログラムは、
基本的にすべてこのプロジェクト内に作成すれば良い。
注意:(指示のない限り)プロジェクト内にフォルダーを作成しないこと。
Java はソースファイルの階層がパッケージという概念と密接に関連するため、
フォルダーを変更してソースファイルを作成すると、例題のままでは動かなくなる。
HTML・JSPの作成へ
Servletの作成
- 「Project Explorer (プロジェクト・エクスプローラー)」の中でクラスを作成する
Dynamic Web プロジェクトを選択してから、
「File (ファイル)」―「New (新規)」―「Other.. (その他)」を選択する。
- 「Select a wizard (ウィザードを選択)」というウインドウで「Web」を展開し、
「Servlet (サーブレット)」を選択し、
「Next (次へ)」をクリックする。
- 「Class name (クラス名)」に作成するクラスの名前を入力し、
「Finish (終了)」をクリックする。
(以下の例では HelloServlet という名前をつけると仮定する。)
「Java package」には何も入力しない。
- クラス定義のテンプレートが表示されるので、
残りの部分を入力する。例えば、次のような import文:
import java.io.PrintWriter;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
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/OOPLServlets/HelloServlet
と入力するとサーブレットが生成したページを見ることができる。
ただし、OOPLServlets
の部分は自分のつけたプロジェクト名に、
HelloServlet はクラス名に置き換える。
さらなる参考リンク
Koji Kagawa (kagawa@eng.〜)
(〜の部分は SPAM mail 予防のため省略します。)