サーブレットインスタンス


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

Hello World サンプル コード

以下は、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()
  {
      // 什么也不做
  }
}

サーブレットのコンパイル

上記のコードを HelloWorld.java ファイルに記述し、このファイルを C:ServletDevel (in Windows の場合) または /usr/ServletDevel (UNIX の場合)、これらのディレクトリを CLASSPATH に追加する必要もあります。

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

$ javac HelloWorld.java

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

このコマンドラインは、Sun Microsystems Java Software Development Kit (JDK) に組み込まれている javac コンパイラを使用します。このコマンドが正しく動作するには、PATH 環境変数で使用される Java SDK の場所が必要です。

すべてがうまくいけば、上記のコンパイルにより、同じディレクトリに HelloWorld.class ファイルが生成されます。次のセクションでは、コンパイルされたサーブレットが運用環境にデプロイされる方法について説明します。

サーブレットのデプロイメント

デフォルトでは、サーブレット アプリケーションはパス /webapps/ROOT に配置され、クラス ファイルは /webapps/ROOT/ に配置されます。 WEB-INF /クラス。

完全修飾クラス名 com.myorg.MyServlet がある場合、このサーブレット クラスは WEB-INF/classes/com/myorg/MyServlet.class に存在する必要があります。

それでは、HelloWorld.class を <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes にコピーし、<Tomcat-installation-directory>/webapps/ROOT/WEB に配置しましょう。以下を作成します。 INF/ の web.xml ファイル内のエントリ:

    <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.xml ファイルの <web-app>...</web-app> タグ内に作成する必要があります。このファイルにはすでにさまざまなエントリが含まれている可能性がありますが、心配する必要はありません。

この時点で、基本的には完了です。次に、<Tomcat-installation-directory>binstartup.bat (Windows の場合) または <Tomcat-installation-directory>/bin/startup.sh (Linux /Solaris の場合) を使用しましょう。など) Tomcat サーバーを起動し、最後にブラウザのアドレス バーに http://localhost:8080/HelloWorld と入力します。すべてがうまくいけば、次の結果が表示されます:

servlet-example.jpg