Tomcat側の用意

広告

まずTomcat単体で動作するところまで準備を行います。今回は「Hello World」とだけ表示するサーブレットをApache経由で動作させることを目標とします。

今回作成するサーブレットアプリケーションは「D:¥servlet-sample¥helloworld¥」内に配置します。それに合わせてコンテキストファイルを用意します。

<Context path="/hello"
docBase="d:/servlet-sample/helloworld"/<

作成したコンテキストファイルは「(Tomcatをインストールしたディレクトリ)¥conf¥Catalina¥localhost」に設置しておきます。

動作させるサーブレットとしては次のようなものを用意します。

HelloWorld.java

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

public class HelloWorld extends HttpServlet {
  public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException{

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Hello World!</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("<h1>Hello World!</h1>");
    out.println("</body>");
    out.println("</html>");
  }
}

コンパイルを行いclassファイルを作成しておいて下さい。

web.xmlファイルは次のようにします。

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

    <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ファイルは「D:¥servlet-sample¥helloworld¥WEB-INF¥」内に配置し、classファイルは「D:¥servlet-sample¥helloworld¥WEB-INF¥classes¥」内に配置します

Tomcat側の用意

では試してみます。「http://localhost:8080/hello/helloworld」にブラウザからアクセスしてみます。

Tomcat側の用意

上記のように表示されれば準備は完了です。

( Written by Tatsuo Ikura )