ソフトウェアエンジニア現役続行

雑多なことを綴ります

tomcat上で動かすプログラムの配置と実行

linuxマシンにtomcatjdkを入れてjavaプログラムをサーブレット上で動かす方法です。
バージョンはtomcat6とjdk1.6.0です。

手順概要

tomcatへのサーブレットプログラムの配置と実行の手順は次のようになります。

  • サーブレットプログラムを作成・コンパイルする
  • プログラムを配置する
  • tomcatの設定を行う
  • プログラムを実行する
サーブレットプログラムを作成・コンパイルする

Hello World!」と表示させない場合、次のようなサーブレットプログラムになります。


$ cat 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("");
    out.println("");
    out.println("<a class="keyword" href="http://d.hatena.ne.jp/keyword/Hello%20World">Hello World</a>!");
    out.println("");
    out.println("");
    out.println("Hello World!");
    out.println("");
    out.println("");
  }
}


コンパイルは次のようにservlet.jarをクラスパスに指定する必要があります。

$ javac HelloWorld.java -classpath /usr/share/java/servlet.jar

プログラムを配置する

次のようなディレクトリ構成になっていて、classesディレクトリにコンパイル済みの.classファイルを起きます。


/var/lib/tomcat6/webapps/sample/WEB-INF
                 ├─classes
                 ├─web.xml

↑"sample"のところには任意のディレクトリ名を入れることができます。

tomcatの設定を行う


  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  version="2.5">

  
    HelloWorld
    HelloWorld
  

  
    HelloWorld
    /HelloWorld
  



タグにはタグにサーブレットのクラス名「HelloServlet」、タグに、それにマッピングするキーワード「HelloWorld」を指定します。また、タグでは、タグには上記と同様に「HelloWorld」、タグにはそれにマッピングするURLのキーワード「/HelloWorld」を指定します。

プログラムを実行する

サーブレットプログラムにアクセスする場合は、web.xmlで指定したパス名をURLに指定します。


http://[ipアドレス]:8080/sample/HelloWorld

f:id:Oswald:20100523115810p:image