webアプリケーションの配備

Tomcatに実際にwebアプリケーションの配備を配備して、動作を確認します。

まずはディレクトリの作成から行います。
/usr/share/tomcat5/webappsディレクトリに移動して、testディレクトリを作成し、さらにそのディレクトリのなかにWEB-INFディレクトリを作成します。

cd /usr/share/tomcat5/webapps/
mkdir test
cd test/
mkdir WEB-INF

WEB-INFディレクトリの中にclassesディレクトリ、libディレクトリとweb.xmlファイルを作成します。

cd WEB-INF/
mkdir classes
mkdir lib
touch web.xml

ここからはサーブレットでTestプログラムを作成します。
classesディレクトリに移動してからTest.javaを作成します。

cd classes/
vi Test.java
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Test extends HttpServlet{

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

        response.setContentType("text/html; charset=Windows-31J");
        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>Testプログラム</h1>");
        out.println("</body>");
        out.println("</html>");

        out.close();
    }
}

サーブレットのjavaソースファイルをコンパイルします。
サーブレットのコンパイルを行うにはサーブレットAPIをクラスパスに追加する必要があります。

javac -classpath /usr/share/tomcat5/common/lib/\[servlet\].jar Test.java

コンパイルが成功すると同じディレクトリにTest.classファイルが作成されます。

最後に先ほど作成したweb.xml(配備記述子)を編集します。
<servlet>タグを記述してサーブレットのクラスに名前を付けます。
<servlet-name>タグにはつけたい名前を、<servlet-class>タグにはコンパイルして作成したクラス名(.classは書かない)を記述します。
<servlet-mapping>タグは呼び出すURLパス名を設定します。
<servlet-name>タグには先ほどつけた名前を、<url-pattern>タグにはURLのパスを記述します。

vi ../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>
      test
    </servlet-name>
    <servlet-class>
      Test
    </servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>
      test
    </servlet-name>
    <url-pattern>
      /test/
    </url-pattern>
  </servlet-mapping>

</web-app>

Tomcatを再起動してブラウザからhttp://192.168.0.10:8080/test/test/にアクセスします。

service tomcat5 restart

コメント

タイトルとURLをコピーしました