チュートリアルを開始するにあたって、まず次のコードを調べてみます。
import java.io.*;
import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); out.println("<html><head><title>Hello</title></head><body>"); out.println("Hello World"); out.println("</body></html>"); } }
import javax.servlet.*
と import javax.servlet.http.*
の行はこれまでに見たことがないかもしれません。これらの項目は Java サーブレット API のパッケージです。これらのパッケージをインポートするのは、すべてのサーブレットがサーブレット インターフェイスを実装する必要があるためです。詳細については、"サーブレット API のパッケージ," in Chapter 19 を参照してください。
HelloWorld
プログラムは HttpServlet
クラスを継承します。HTTP を使用して Web ブラウザと通信するサーブレットのためにこのクラスを継承します。HttpServlet
は GenericServlet
クラスを継承しますが、このクラスはあまり使用しません。GenericServlet
と HttpServlet
の詳細については、227 ページの第 20 章「Java サーブレット API によるプログラミング」 を参照してください。doGet()
メソッドの最初のパラメータは HttpServletRequest
オブジェクトです。このオブジェクトは、サーブレットがクライアント要求を読み込むことができるように入力ストリームを提供します。このサービス メソッドの 2 番目のパラメータは、HttpServletResponse
オブジェクトです。このオブジェクトは、サーブレットがクライアントに返す応答を作成できるように出力ストリームを供給します。詳細については、"HTTP 要求と応答"を参照してください。setContentType()
メソッドはサーブレットの出力の MIME タイプを text/html
に設定します。既定では、Java サーブレットの出力 MIME タイプは text/html
です。 getWriter()
メソッドは PrintWriter
オブジェクトを返します。このオブジェクトは、サーブレットがブラウザにテキストを返すことができるようにします。out.println()
行では、HTML 形式を使用することと、文字列「Hello World」
を含むテキストをブラウザに送信することを指定します。
これから、HelloWorld.java
という名前の Java ソース ファイルを作成して、上のコードをこのファイルにコピーします。次に、サーブレット クラス ファイルを作成するために Java コードをコンパイルします。
次のコマンドを使用して HelloWorld.java をコンパイルします。
javac -classpath c:¥jruninstalldirectory¥lib¥ext¥servlet.jar HelloWorld.java
このコマンドは Java サーブレット API からのパッケージをインクルードするための classpath
を指定します。この例では、これらのファイルが Microsoft Windows システムの既定の位置にインストールされていることを想定しています。
コードのコンパイルが完了したら、サーバーが HelloWorld.class
ファイルにアクセスできるように、このファイルを適切なディレクトリにコピーします。既定ではこのディレクトリは JRun のインストール ディレクトリ/servers/default/default-app/WEB-INF/classes
です。異なるサーバーを使用する場合は、ファイルを適当なディレクトリにコピーしてください。
サーバー名が myhost であれば、次の URL を使用してこのサーブレットを呼び出します。
http://localhost/servlet/HelloWorld
JRun URL とファイルの場所の詳細については、70 ページの「Web アプリケーションの開発」を参照してください。
メモ サーバーがポート 80 以外のポートで動作している場合、URL にそのポート番号を含 める必要があります。 |