Tomcat web.xml 基本 設定方法

JavaでWebアプリケーションを実装する場合、

appサーバーとして、tomcatなどを利用すると思います。

フレームワークによって設定ファイルは異なりますが、

tomcatを利用する場合、urlに対応して起動するサーブレットの設定などは、web.xmlで行います。

今回は、servlet ver2.3での、web.xmlの最低限必要な設定をまとめておきたいと思います。

 

 

設定対象プロジェクト

まず、対象プロジェクトは、以下とさせて頂きます。

存在するファイルは、web.xmlの他には、jsp1つとservlet1つです。

HelloWorldを表示させるだけの非常にシンプルなプロジェクトです。

 

 

プロジェクト実行結果

実行結果も、簡単なhtml表示とコンソールログを出力するだけの内容となります。

 

 

web.xml設定内容

結論ですが、今回のプロジェクトの内容の場合、web.xmlは、以下の様に設定します。

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <servlet>
    <servlet-name>helloworld</servlet-name>
    <servlet-class>HelloWorld</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>helloworld</servlet-name>
    <url-pattern>/Helloworld</url-pattern>
  </servlet-mapping>
</web-app>

 

1、xmlタグ

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

一番初めのxmlタグは、バージョンとエンコード指定を行います。

ただし、上記の記述方法は、J2EE2.3の表記方法(DTDベース)であり、

J2EE2.4以降からは、XMLSchemaベースへと変更されている模様です。

しかも、各バージョンで細かく指定名称が異なっているようです。

◯参考:KATSUMI KOKUZAWA’S BLOG – web.xmlのバージョン別DTD・XSDの宣言方法 –

※servlet3.0の例

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://java.sun.com/xml/ns/javaee"
            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            elementFormDefault="qualified"
            attributeFormDefault="unqualified"
            version="3.0">

 

2、web-appタグ

<web-app>

基本的に、案件単位でプロジェクトを作成する場合、

一つのweb-appタグ内に、全ての情報を組み込むことになると思います。

 

3、servletタグ

3−1、servlet-nameタグ・servlet-classタグ

<servlet-name>動作させるサーブレット名</servlet-name>
<servlet-class>動作させるサーブレットクラス名</servlet-class>

記載方法として、/プロジェクト名/src/をカレントディレクトリと想定した、

相対パスで記載を行う必要があります。

 

4、servlet-mappingタグ

4−1、servlet-nameタグ・url-patternタグ

<servlet-mapping>
 <servlet-name>helloworld</servlet-name> 
 <url-pattern>/Helloworld</url-pattern>
</servlet-mapping>

servlet-nameタグには、動作するサーブレット名を指定し、

url-patternには、サーブレットをcallするためのurlを指定します。

尚、url-patternの前の名前空間は、Webコンテナ名称になるため、

今回のプロジェクトの場合、WebSample01になります。

 

◯参考情報

・Apache Tomcat 8.5.65 – Default Servlet Reference –

・oracle – Java™ EE at a Glance –

 


 

尚、当たり前ですが、既存のファイルと同様に、

新しいHelloWorld.java(サーブレット)と、jspを同じ配置で作成した場合、

以下のようにweb.xmlに行うことが可能です。

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <servlet>
    <servlet-name>helloworld</servlet-name>
    <servlet-class>HelloWorld</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>helloworld</servlet-name>
    <url-pattern>/Helloworld</url-pattern>
  </servlet-mapping>
  <servlet>
    <servlet-name>helloworld2</servlet-name>
    <servlet-class>HelloWorld2</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>helloworld2</servlet-name>
    <url-pattern>/Helloworld2</url-pattern>
  </servlet-mapping>
</web-app>

 


 

以上が、最低限のweb.xmlの設定内容になります。

web.xmlは正しく設定しないと、ハマりどころになるため、

修正を行う際には、注意して行いたいところです。

都内でエンジニアをやっています。 2017年に脱サラ(法人設立)しました。 仕事で調べたことや、気になったことをメモしています。
投稿を作成しました 163

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る