English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Servlet 実例

Servlet は HTTP リクエストをサービスし、実装 javax.servlet.Servlet インターフェースの Java クラス。Web アプリケーション開発者は通常 javax.servlet.http.HttpServlet を拡張し、HTTP リクエストを処理するための抽象クラスを実装します。

Hello World 例コード

以下は Servlet が 'Hello World' を出力する例のソースコードです:

// 必要な java ライブラリをインポート
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
// HttpServlet クラスを拡張
public class HelloWorld extends HttpServlet {
 
  private String message;
  public void init() throws ServletException
  {
      // 必要な初期化を実行
      message = "Hello World";
  }
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // レスポンスの内容タイプを設定
      response.setContentType("text/html);
      // 実際のロジックはここにあります
      PrintWriter out = response.getWriter();
      out.println("<h1」 + message + 「</h1);
  }
  
  public void destroy()
  {
      // 何もしない
  }
}

Servlet をコンパイル

以下のコードを HelloWorld.java ファイルに書き込み、このファイルを C:\ServletDevel(Windows 上)または /usr/ServletDevel(UNIX 上)に、これらのディレクトリを CLASSPATH に追加する必要があります。

環境が正しく設定されていることを仮定すると、以下のコマンドを入力します。 ServletDevel ディレクトリに移動し、以下のように HelloWorld.java をコンパイルします:

$ javac HelloWorld.java

Servlet が他のライブラリに依存している場合、CLASSPATH にそれらの JAR ファイルを含める必要があります。ここでは、servlet-api.jar JAR ファイルを使用していますが、Hello World プログラムでは他のライブラリを使用していないためです。

このコマンドラインは、Sun Microsystems Java 软件開発工具包(JDK)に内蔵されている javac コンパイラを使用しています。このコマンドが正常に動作するためには、PATH 環境変数に Java SDK のパスを設定する必要があります。

すべてがうまくいった場合、上記のコンパイルは同じディレクトリ内に HelloWorld.class ファイルを生成します。次のセクションでは、既にコンパイルされた Servlet がどうやってプロダクションにデプロイされるか説明します。

Servlet デプロイメント

デフォルトでは、Servlet アプリケーションはパス <Tomcat-インストール-ディレクトリ>/webapps/ROOT 下にありますし、クラスファイルは <Tomcat-インストール-ディレクトリ>/webapps/ROOT/WEB-INF/classes 内に配置される必要があります。

完全なクラス名を持っている場合 com.myorg.MyServlet、それではこの Servlet クラスは WEB-INF/classes/com/myorg/MyServlet.class にコピーします。

今や、HelloWorld.class を <Tomcat-インストール-ディレクトリ>/webapps/ROOT/WEB-INF/classes 中に配置し、<Tomcat-インストール-ディレクトリ>/webapps/ROOT/WEB-INF/ の web.xml ファイルに以下のエントリを作成します:

<web-app>      
    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>
</web-app>

上記の項目は web.xml ファイル内の <web-app>.../web-app> タグ内で使用しましょう。このファイルには既に様々な項目があるかもしれませんが、気にしないでください。

ここまで来たら、基本的には完了です。今や <Tomcat-インストール-ディレクトリ>\bin\startup.bat(Windows 上)または <Tomcat-インストール-ディレクトリ>/bin/startup.sh(Linux 上で)または bin ディレクトリ>\bin\startup.bat(Windows 上)または <Tomcat/Solaris などの上で tomcat サーバーを起動し、最後にブラウザのアドレスバーに以下を入力します: http://localhost:8080/HelloWorld。もし全てがうまくいったら、以下の結果を見るでしょう: