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

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

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

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

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

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

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

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

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

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

Servletの設置

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

  1. C:\jetty-7.5.0\webapps\ に適当なフォルダ(以下の例ではInfoEnvExp2)を作成します。 このフォルダをアプリケーションルートフォルダ と呼びます。 アプリケーションルートフォルダの下に、さらに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-7.5.0\webapps\InfoEnvExp2\の直下やサブフォルダを適宜作成してその下に置きます。
  4. Jettyをインストールしたディレクトリ(C:\jetty-7.5.0\)で次をタイプします。

      java -jar start.jar
    

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


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