トップ ITインフラ OSとミドルウェア Tomcat プログラミング方法 簡単なServlet

Tomcat上で動作する簡単なServletの作成方法

Tomcat上で動作する簡単なServletの作成方法について紹介しています。

▲記事トップへ

目次

このページの目次です。

1. Tomcat上で動作する簡単なServletの作成方法

2. Tomcat上で動作する日本語出力&他のクラスを使用するServletの作成方法

更新履歴

1. Tomcat上で動作する簡単なServletの作成方法

動作確認した環境

アプリの構成

□tomcatホームディレクトリ
├□conf
|└□Catalina
|  └□localhost
|    └◆test.xml
└□webapps
  └□test
    └□WEB-INF
      ├□classes
      |└◆HelloWorld.class
      └◆web.xml

コンテキスト指定(test.xml)

<Context path="/test"
         docBase="<tomcatホームディレクトリ>/webapps/test"
         reloadable="true">
</Context>

Servlet(HelloWorld.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 HelloWorld extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public void doGet(HttpServletRequest req, HttpServletResponse res)
                         throws IOException, ServletException {
        res.setContentType("text/html");
        PrintWriter out = res.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World!</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("Hello World!");
        out.println("</body>");
        out.println("</html>");
    }
}

コンパイル

java -classpath <tomcatホーム>/lib/servlet-api.jar:. HelloWorld.java

配備記述子(web.xml)

<?xml version="1.0" encoding="UTF-8" ?>

<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>hello</servlet-name>
        <servlet-class>HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

動作確認

ブラウザより、「http://<tomcatサーバのホスト>:8080/test/hello」へアクセス。 「Hello World! 」と表示される。

2. Tomcat上で動作する日本語出力&他のクラスを使用するServletの作成方法

動作確認した環境

アプリの構成

□tomcatホームディレクトリ
├□conf
|└□Catalina
|  └□localhost
|    └◆test.xml
└□webapps
  └□test
    └□WEB-INF
      ├□classes
      |├◆SampleServlet.class
      |└◆User.class
      └◆web.xml

コンテキスト指定(test.xml)

<Context path="/test"
         docBase="<tomcatホームディレクトリ>/webapps/test"
         reloadable="true">
</Context>

Servlet(SampleServlet.java)

日本語が文字化けしないように文字コードをUTF-8に合わせる。

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 SampleServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public void doGet(HttpServletRequest req, HttpServletResponse res)
            throws IOException, ServletException {
        User user = new User();
        // 日本語が文字化けしないように文字コードを合わせる↓
        res.setContentType("text/html; charset=UTF-8");
        PrintWriter out = res.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>サンプル</title>");
        out.println("</head>");
        out.println("<body>");
        out.println(user.getName());
        out.println("</body>");
        out.println("</html>");
    }
}

他のクラス(User.java)

public class User {
    private String name = null;
    public User() {
        name = "ユーザ";
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
}

コンパイル

java -classpath <tomcatホーム>/lib/servlet-api.jar:. SampleServlet.java User.java

配備記述子(web.xml)

<?xml version="1.0" encoding="UTF-8" ?>

<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>sample</servlet-name>
        <servlet-class>SampleServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>sample</servlet-name>
        <url-pattern>/sample</url-pattern>
    </servlet-mapping>
</web-app>

動作確認

ブラウザより、「http://<tomcatサーバのホスト>:8080/test/sample」へアクセス。 「ユーザ 」と表示される。

更新履歴

このページの更新履歴です。

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Burp /Eclipse /Fiddler /gcc /gdb /Git /g++ /JDK /JMeter /JUnit /Teraterm /ZAP

技術・仕様
Ajax /CORBA /Jakarta EE(旧称J2EE、Java EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /FuelPHP /Lucene /MyBatis /Seasar2 /Spring /Struts /WordPress

Web API
Google Maps

ITインフラOSとミドルウェア
Linux /Windows /シェル
ActiveMQ /Tomcat /MariaDB /MySQL /Nagios /Redis /Solr

ITインフラサーバー
公開Webサーバー

ITインフラネットワーク
プログラミング /構築

ITインフラセキュリティ
公開サーバーのセキュリティ

PC製品
ZOTAC

SI
ホームページの作り方

その他
IT用語 /ITスキル体系

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

54.147.17.95

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク