Tomcat2

更新日 2011-11-03 (木) 22:45:44

Tomcatでサーブレット作成

jreでなくsdkををjreと同様にインストールして

export CATALINA_HOME=/usr/local/tomcat
export JRE_HOME=/usr/local/java/jdk1.6.0_11
$CATALINA_HOME/bin/startup.sh

javaサーブレットの作成

$ cd ~
$ mkdir java
$ cd java

HelloWorldServlet.javaを作成

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

public class HelloWorldServlet extends HttpServlet {
    public void service(HttpServletRequest request,
                        HttpServletResponse response)
        throws ServletException, IOException {
        // ContentTypeを設定
        response.setContentType("text/html; charset=Shift_JIS");
        // 出力用PrintWriterを取得
        PrintWriter out = response.getWriter();
        // 出力
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World Servlet</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("Hello JE2ISM");
        out.println("</body>");
        out.println("</html>");
    }
}

.bash_profileに以下を追加

JAVA_HOME=/usr/local/java/jdk1.6.0_11
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/usr/local/tomcat/common/lib/servlet-api.jar

export JAVA_HOME PATH CLASSPATH
$ source .HelloWorldServlet.java
$ javac HelloWorldServlet.java

エラーなしで HelloWorldServlet.classが出来ている

配置

$ su

# cp HelloWorldServlet.class /usr/local/tomcat/webapps/servlets-examples/WEB-INF/classes/

# cd /usr/local/tomcat/webapps/servlets-examples/WEB-INF

web.xmlに以下を追加

    <servlet>
        <servlet-name>HelloWorldExample</servlet-name>
        <servlet-class>HelloWorldExample</servlet-class>
    </servlet>

<!-- 以下を追加 -->
    <servlet>
        <servlet-name>HelloWorldServlet</servlet-name>  <=サーブレット名
        <servlet-class>HelloWorldServlet</servlet-class> <=クラス名を指定
    </servlet>
<!-- ここまで -->

(略)

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

<!-- 以下を追加 -->
    <servlet-mapping>
        <servlet-name>HelloWorldServlet</servlet-name>
        <url-pattern>/servlet/HelloWorldServlet</url-pattern> <=アクセスURLを指定(1)
    </servlet-mapping>
<!-- ここまで -->

tomcat再起動

# $CATALINA_HOME/bin/shutdown.sh
# $CATALINA_HOME/bin/startup.sh
http://(サーバIP):8080/servlets-examples/servlet/HelloWorldServlet
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ここが(1)と一致

で確認

webapps以下に自分のフォルダを作成し、配置する

●webapps 配下にディレクトリをつくる

●WEB-INFディレクトリをつくる。

●WEB-INFディレクトリには、lib,web.xml,classesをつくる。

classesフォルダに

HelloWorldServlet.javaをおく

web.xmlを以下のように作成

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>
HelloWorldServlet
</servlet-name>
<url-pattern>
/servlet/ism
</url-pattern>
</servlet-mapping>

</web-app>

その後

$ cd classes
$ javac HelloWorldServlet.java

HelloWorldServlet.classを確認し、tomcatを再起動

アクセスは

http://(サーバIP):8080/ism/servlet/ism

warファイルの作成

$ cd webapps/ism
$ jar cvf ism.war *
マニフェストが追加されました。
WEB-INF/ を追加中です。(入 = 0) (出 = 0)(0% 格納されました)
WEB-INF/web.xml.org を追加中です。(入 = 9432) (出 = 2020)(78% 収縮されました)
WEB-INF/web.xml~ を追加中です。(入 = 452) (出 = 246)(45% 収縮されました)
WEB-INF/lib/ を追加中です。(入 = 0) (出 = 0)(0% 格納されました)
WEB-INF/classes/ を追加中です。(入 = 0) (出 = 0)(0% 格納されました)
WEB-INF/classes/HelloWorldServlet.class を追加中です。(入 = 900) (出 = 526)  (41% 収縮されました)
WEB-INF/classes/HelloWorldServlet.java を追加中です。(入 = 650) (出 = 327)(49% 収縮されました)
WEB-INF/web.xml を追加中です。(入 = 438) (出 = 246)(43% 収縮されました)

これでism.warが作成される

あとはtomcat停止して、ism.warをwebappsの下にコピーしてtomcatを起動する


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-11-03 (木) 22:45:44 (2424d)