Eclipse の使い方 Servlet 編

Eclipse で Servlet を実行する方法を紹介する。 サーブレットコンテナーとして Apache Tomcat を使用する。

Eclipse の機能は膨大なので、ここですべての機能を紹介することはとてもできない。 このページでは、本実験でよく使うと思われるごく一部の機能を紹介する。

なお、このページで説明することには、“Eclipse IDE for Enterprise Java Developers”  «Eclipse 2021-03 以降は “Eclipse IDE for Enterprise Java and Web Develpoers”»  が必要である。“Eclipse IDE for Java Developers” の場合は、 いくつか追加でプラグインをインストールする必要がある。 (詳細は各自でググること。)

Servlet ではない、通常の Java アプリケーション・アプレットの場合は、 Eclipse の使い方 Java アプリケーション編を見よ。

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

Dynamic Web Project(動的 Web プロジェクト)は Java Servlet/JSP などのためのプロジェクトであり、Servlet の実行に必要な設定ファイルを自動生成してくれる。

  1. 「File(ファイル)」―「New(新規)」―「Project..(プロジェクト)」で現れる 「Select a wizard (ウィザードを選択)」というウインドウで 「Web」を展開し、 「Dynamic Web Project (動的 Web プロジェクト)」を選択して、 「Next (次へ)」をクリックする。
  2. 「Project name (プロジェクト名)」は英数字で適当につけて、 「Target runtime (ターゲット・ランタイム)」が「Apache Tomcat v8.0 」 になっていることを確認して、「終了 (Finish)」をクリックする。
    「Target runtime」が「<None> (<なし>)」 になっている場合、
    1. 右の「New.. (新規)」を クリックし、

    2. 「Select the runtime type: (ランタイム環境のタイプを選択)」で、 「Apache」—「Apache Tomcat v8.0」) を選択し、「Next」をクリックする。

    3. 次の「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 というプロジェクト名をつけると仮定する。)
  3. (必須ではないがお勧め)プロジェクトの encoding を UTF-8 にする。

以降、本実験で作成するプログラムは、 基本的にすべてこのプロジェクト内に作成すれば良い。

注意:(指示のない限り)プロジェクト内に新たにフォルダーを作成しないこと。 Java はソースファイルの階層がパッケージという概念と密接に関連するため、 フォルダーを変更してソースファイルを作成すると、例題のままでは動かなくなる。

HTML・JSPの作成

Servletの作成

  1. 「Project Explorer (プロジェクト・エクスプローラー)」の中でクラスを作成する Dynamic Web プロジェクトを選択してから、 「File (ファイル)」―「New (新規)」―「Other.. (その他)」を選択する。
  2. 「Select a wizard (ウィザードを選択)」というウインドウで「Web」を展開し、 「Servlet (サーブレット)」を選択し、 「Next (次へ)」をクリックする。
  3. 「Class name (クラス名)」に作成するクラスの名前を入力し、 「Finish (終了)」をクリックする。
    (以下の例では HelloServlet という名前をつけると仮定する。) 「Java package」には何も入力しない。
  4. クラス定義のテンプレートが表示されるので、 残りの部分を入力する。例えば、次のような 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();
    }
    
  5. 「File (ファイル)」―「Save (保管)」(もしくは Ctrl+s)でファイルの保存と同時に自動的にコンパイルされる。

Servlet・HTML・JSPの実行

HTML・JSPの作成

動的 Web プロジェクトの場合、HTML, JSP など Servlet 以外のコンテンツは

というフォルダー(既に出来ているはず)に置く。 (このフォルダの内容がアプリケーションルートにコピーされる。)

  1. 「Project Explorer (プロジェクト・エクスプローラー)」の中でクラスを作成する動的 Web プロジェクトの 「WebContent」というフォルダーを選択してから、 「File (ファイル)」―「New (新規)」―「Other.. (その他)」を選択する。
  2. 「Select a wizard (ウィザードを選択)」というウインドウで「Web」を展開し、 「HTML」(JSPの場合は「JSP」)を選択し、「Next (次へ)」をクリックする。
  3. 「File name (ファイル名)」に作成するファイルの名前を入力し、 「finish (終了)」をクリックする。
  4. テンプレートが表示されるので、残りの部分を入力する。
  5. http://localhost:8080/プロジェクト名/ファイル名 で見ることができる。

Servlet・HTML・JSPの実行

  1. 「Run (実行)」―「Run As (実行)」―「Run on Server (サーバーで実行)」で、 「Run on Server (サーバーで実行)」 というウインドウが現われるので、「Tomcat v8.0 Server at localhost」 を選択していることを確認して、「Finish (終了)」をクリックする。 サーバが起動するとともに Eclipse 内に Web ブラウザーが起動して、サーブレットが生成したページが表示される。

さらなる参考リンク


Koji Kagawa (kagawa.koji@〜)
(〜の部分は SPAM mail 予防のため省略します。)