Eclipseは機能が豊富なので、 場合によっては動作が不安定になったりすることもあるようです。 そこでこのページではEclipseを使用せずに Servletを作成・設置する方法をまとめます。
javac -classpath ".;C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.16\common\lib\servlet-api.jar" HelloServlet.javaというコマンドでコンパイルするか、
set CLASSPATH=".;C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.16\common\lib\servlet-api.jar;"というコマンドをコマンドプロンプトを開いて最初に実行し、以降は普通に
javac HelloServlet.javaというコマンドでコンパイルして下さい。
HelloServlet.javaの部分は適宜入れ替えて下さい。
Tomcatを C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.16以外のフォルダにインストールした場合は、 そのフォルダのパスにあわせて下さい。
プロジェクトは「動的Webプロジェクト」ではなく、通常の 「Javaプロジェクト」として作成します。(Eclipseの使い方の 「(参考)Javaプロジェクトの作成」を参照して下さい)
ウインドウ左側の「パッケージ・エクスプローラー」で作成した、 パッケージ名を選択して、右クリックし、 一番下の「プロパティー」をクリックします。
現われるウインドウで「Javaのビルド・パス」をクリックし、 「ライブラリー」タブを選択して、「外部 JARの追加」ボタンを押します。
「JARの選択」というダイアログが現われるので、 C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.16\common\lib\ フォルダに移動して、servlet-api.jarを選択します。 「OK」ボタンを押します。
以降は普通にJavaのソースファイルを作成します。 「保管」すると同時に .classファイルができます。
以下の例では HelloServletという名前のサーブレットを設置するとします。
C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.16\webapps\ に適当なフォルダ(以下の例ではMyServlets)を作成します。 このフォルダをアプリケーションルートフォルダ と呼びます。 アプリケーションルートフォルダの下に、さらにWEB-INFというフォルダを作成し、 その下にclassesというフォルダを作成します。
下図のような階層になります。
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>
Tomcatを再スタートします。 デスクトップのタスクバーの右側の「Apache Tomcat」というインジケータ(なければ、 すべてのプログラム —「Apache Tomcat」—「Monitor Tomcat」で スタートします) を右クリックして、 (既に起動していた場合はいったん、「Stop service」を選択し、) 「Start service」を選択する。 http://localhost:8080/MyServlets/HelloServletで作成したサーブレットを見ることができます。