Eclipse を使わない Servlet の作成・設置方法

Eclipse は機能が豊富なので、 場合によっては動作が不安定になったりすることもあるようです。 そこでこのページでは Eclipse を使用せずに Servlet を作成・設置する方法をまとめます。

Eclipse なしでコンパイルする方法

Servlet をコンパイルするには、 servlet-api.jar というファイルをクラスパスに含める必要があります。 例えば、HelloServlet.java をコンパイルするには、
  javac -classpath ".;C:\jetty-9.0.5\lib\servlet-api-3.0.jar" HelloServlet.java
というコマンドでコンパイルするか、
  set CLASSPATH=".;C:\jetty-9.0.5\lib\servlet-api-3.0.jar;"
というコマンドをコマンドプロンプトを開いて最初に実行し、以降は普通に
  javac HelloServlet.java
というコマンドでコンパイルして下さい。

コンパイルだけ Eclipse で行なう方法

  1. プロジェクトは「動的 Web プロジェクト」ではなく、通常の 「Java プロジェクト」として作成します。(Eclipse の使い方(Java アプリケーション編)の 「Java プロジェクトの作成」を参照して下さい)

  2. ウインドウ左側の「パッケージ・エクスプローラー」で作成した、 パッケージ名を選択して、右クリックし、 一番下の「プロパティー」をクリックします。

  3. 現われるウインドウで「Java のビルド・パス」をクリックし、 「ライブラリー」タブを選択して、「外部 JAR の追加」ボタンを押します。

  4. 「JAR の選択」というダイアログが現われるので、 C:\jetty-9.0.5\lib\ フォルダに移動して、servlet-api.3.0.jar を選択します。 「OK」ボタンを押します。

  5. 以降は普通に Java のソースファイルを作成します。 「保管」すると同時に .class ファイルができます。

Servletの設置

以下の例では HelloServlet という名前のサーブレットを設置するとします。

  1. C:\jetty-9.0.5\webapps\ に適当なフォルダ(以下の例ではJouhouKankyouJikken2)を作成します。 このフォルダをアプリケーションルートフォルダ と呼びます。 アプリケーションルートフォルダの下に、さらに WEB-INF というフォルダを作成し、 その下に classes というフォルダを作成します。

  2. classes フォルダの下に HelloServlet.class ファイルを コピーし、さらに WEB-INF フォルダの下に以下のような内容の web.xml というファイルを置きます。 (メモ帳などのエディタで作成すれば良いですが、Vista の場合、管理者権限で実行する必要があります。)

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
      <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/HelloServlet</url-pattern>
      </servlet-mapping>
    </web-app>
    

    <servlet>〜</servlet><servlet-mapping>〜</servlet-mapping> は、 必要に応じて追加します。

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
      <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/HelloServlet</url-pattern>
      </servlet-mapping>
      <servlet>
        <servlet-name>MyDate</servlet-name>
        <servlet-class>MyDate</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>MyDate</servlet-name>
        <url-pattern>/MyDate</url-pattern>
      </servlet-mapping>
    </web-app>
    
  3. HTML ファイルや画像ファイルは、アプリケーションルートフォルダ(今の例では、 C:\jetty-9.0.5\webapps\JouhouKankyouJikken2\ の直下やサブフォルダを適宜作成してその下に置きます。
  4. Jetty をインストールしたディレクトリ(C:\jetty-9.0.5\)で次をタイプします。

      java -jar start.jar
    

    http://localhost:8080/JouhouKankyouJikken2/HelloServlet で作成したサーブレットを見ることができます。


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