Servlets-first-example

提供:Dev Guides
移動先:案内検索

サーブレット-例

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

サンプルコード

次に、Hello Worldを表示するためのサーブレットのサンプルソースコード構造の例を示します-

//Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

//Extend HttpServlet class
public class HelloWorld extends HttpServlet {

   private String message;

   public void init() throws ServletException {
     //Do required initialization
      message = "Hello World";
   }

   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

     //Set response content type
      response.setContentType("text/html");

     //Actual logic goes here.
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
   }

   public void destroy() {
     //do nothing.
   }
}

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

上記のコードを使用して、HelloWorld.javaという名前のファイルを作成します。 このファイルをC:\ ServletDevel(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コンパイラを使用します。 このコマンドが正しく機能するには、使用しているJava SDKの場所をPATH環境変数に含める必要があります。

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

サーブレットの展開

デフォルトでは、サーブレットアプリケーションはパス<Tomcat-installationdirectory>/webapps/ROOTにあり、クラスファイルは<Tomcat-installationdirectory>/webapps/ROOT/WEB-INF/classesにあります。

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

今のところ、HelloWorld.classを<Tomcat-installationdirectory>/webapps/ROOT/WEB-INF/classesにコピーし、<Tomcat-installation-directory>/webapps/ROOT/にある web.xml ファイルに次のエントリを作成します。 WEB-INF/

<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-installationdirectory> \ bin \ startup.bat(Windows)または<Tomcat-installationdirectory>/bin/startup.sh(Linux/Solarisなど)を使用してTomcatサーバーを起動し、最後に次のように入力します。 http://localhost:8080/HelloWorld をブラウザのアドレスボックスに入力します。 すべてがうまくいけば、次の結果が得られます

サーブレットの例