Servlet日記(1999/01/31)

本日の成果

 JSDKのチュートリアルドキュメントに基づいて、Hello World servletを作ってみました。これをHello.javaというファイル名で保存して、javac Hello.javaを実行してコンパイルし、Hello.classファイルを作成しました。

import  java.io.*;
import  javax.servlet.*;
import  javax.servlet.http.*;

public class Hello extends HttpServlet {
        public void doGet(
                HttpServletRequest req,
                HttpServletResponse res
        ) throws ServletException, IOException
        {
                res.setContentType("text/plain");
                PrintWriter out = res.getWriter();
                out.println("Hello, World!");
                out.close();
        }

        public String getServletInfo() {
                return "Hello World servlet";
        }
}

 動作確認用のWebサーバは、とりあえずservletrunnerを使いました。使用できるWebサーバについては、今後調べることにします。PATHとCLASSPATHは、ドキュメントに従って設定しました。servletrunnerを起動するために、次のようなバッチファイルを作成しました。今回はドキュメントルートを使いませんが、指定しておくことにします。

@echo off
c:\jsdk2.0\bin\servletrunner.exe -d c:\home\web\servlet\src -r c:\home\web\servlet\src

 最後に、servlet.propertiesファイルを用意します。チュートリアルドキュメントによれば、servletに与える初期値を使わない場合はなくてもよいようなのですが、ブラウザからアクセスするためのURLが分からないので、このファイルを用意することにしました。このファイルは、上のバッチファイルの-dオプションで指定したservletディレクトリに格納します。

servlet.plainhello.code=Hello

 以上で準備完了です。バッチファイルを実行すると、servletrunnerが起動します。その状態で、ブラウザから次のようにアクセスすると、意図した結果が得られました。

Hello servletの実行結果

 また、この時、servletrunnerを実行したウィンドウを見ると、次のような表示になりました。Hello: initをservletrunnerが表示しているのか、servlet側で表示しているのかはわかりませんが。

Hello servletの実行時のサーバの様子

 以上で、最初のservletプログラムの作成は終わりです。これで、次の3つの事が分かりました。

本日の教訓

 servletプログラムの作り方、動作確認の仕方がわかった。(教訓ではありませんね)

Servlet日記(1999/01/30) Servlet日記の目次 Servlet日記(1999/02/01)