名科辞典―これは何?情報は?にこたえるコンテンツ

トップ web.xmlとは

web.xmlとは―配備(デプロイメント)記述子。書き方など解説。

web.xmlとは配備記(デプロイメント)述子と呼ばれるファイルです。何かをテーマに書き方などを解説しています。

▲記事トップへ

目次

この記事の目次です。

1. web.xmlとは
2. web.xmlの呼び方
3. web.xmlの例と書き方

参考リンク
更新履歴

1. web.xmlとは

web.xmlは、JavaのWebアプリケーション(Servlet)をWebアプリケーションサーバ(Webコンテナ)に設定するためのXMLフォーマットのファイルです。

2. web.xmlの呼び方

web.xmlは、「ウェブ・エックスエムエル」という呼び方以外に「配備記述子」あるいは「デプロイメント記述子」と呼ばれます。

3. web.xmlの例と書き方

Tomcatで動作させるWebアプリケーションの例をまず見ていき、そこで使用されるweb.xmlをみて、web.xmlの書き方を解説していきます。

web.xmlを使用したWebアプリケーションの例

まずはweb.xmlを使用したWebアプリケーションの例を見ていきます。

アプリの構成

□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! 」と表示されます。

web.xmlの書き方について

上記の例を見てweb.xmlの書き方について解説していきます。

ファイルフォーマット

<servlet>~</servlet>と<servlet-mapping>~</servlet-mapping>は定型的な記述になります。

<servlet>~</servlet>

servlet-nameにはサーブレット名を記述し、servlet-classにはクラスファイル名を記述します。

<servlet-mapping>~</servlet-mapping>

servlet-nameにはサーブレット名を記述し、url-patternには呼び出す時につけるURLパス名を記述します。

「http://<tomcatサーバのホスト>:8080/test/」というコンテキストパスのURLの場合、 パス名を「/hello」とすると「http://<tomcatサーバのホスト>:8080/test/hello」というURLになります。

参考リンク

もっと詳しい情報は以下にまとめています。参考になればと思います。

xml

xmlとは何かをテーマに、xmlの読み方や意味、タグ、属性からxmlデジタル署名など、xmlの基礎知識を解説しています。

詳細

更新履歴

  • 2021/7/23 記事をUPしました。

戻る

カテゴリ

検索

名科辞典とは

名科辞典は、辞典コンテンツを提供している辞典サイトです。 これは何?情報は?にこたえるコンテンツをテーマにしています。