Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第2部 Servlet/JSP編> 第7章 Webアプリケーションの開発> 7.5 Webアプリケーション環境定義ファイル(deployment descriptor)> 7.5.3 Webアプリケーション環境定義ファイル(deployment descriptor)のタグの詳細

7.5.3.8 サーブレット・マッピング

 指定したURLのファイルやサーブレットを表示せずに異なったサーブレットやJSPに対応させることができます。
 このサーブレット・マッピングは、servlet-mappingタグで定義します。
 servlet-mappingタグは、サーブレットやJSPの名前を定義した、servletタグより後に記述してください。servletタグより前に記述した場合、Webアプリケーションの起動に失敗します。
 url-patternタグに同じURLを複数定義した場合は、最後に定義したサーブレット・マッピングが有効となります。

 指定したURLが複数のサーブレット・マッピングで有効である場合、以下の順で優先されます。

 <例>
 "/index.html"と"*.html"のURLが定義されていて、"/index.html"へのアクセスがあった場合、拡張子"*.html"の定義よりファイルの名前"/index.html"の定義が優先されます。

■記述形式

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

■タグの内容

タグ名

説明

タグの
省略

複数の
指定

servlet-name

リクエストをマッピングするサーブレットやJSPの名前を定義します。
名前には、servletタグのservlet-nameタグで指定した名前を記述します。指定していない名前を記述した場合は、Webアプリケーションの起動に失敗します。

×

×

url-pattern

サーブレットやJSPにマッピングするURLを定義します。
URLは以下のように記述します。

  • 単独のURLの場合
    URLで呼び出す場合の名前を記述します。
    <例> /servlet/servlet1
  • 特定のプレフィックス(パス、識別子)で始まるURLの場合
    最後に"/*"を付加し、記述します。
    <例> /prefix/*
  • 特定の拡張子をもつURLの場合
    "*.xxx"を用いて記述します。
    <例> *.do
    "*.xxx"を用いて特定の拡張子をもつファイルを指定する場合には、プレフィックスと一緒に指定することはできません。
      <例> /path/*.do は指定できません。
    特定の拡張子をもつファイルを指定した場合は、Webアプリケーション全体のファイルが対象となります。

×

×

■記述例

 単独のURLに対するマッピング定義を以下に示します。

------------------------------------------------------------------------------------
  <web-app>
    <servlet>
      <servlet-name>SendMailServlet</servlet-name>
      <servlet-class>SendMailServlet</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>SendMailServlet</servlet-name>
      <url-pattern>/SendMailServlet</url-pattern>
    </servlet-mapping>
  </web-app>
------------------------------------------------------------------------------------

 URLのパス情報が“director”のプレフィクスを持つリクエストに対するマッピング定義を以下に示します。

------------------------------------------------------------------------------------
  <web-app>
    <servlet>
      <servlet-name>director</servlet-name>
      <servlet-class>xxx.yyy.DirectorServlet</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>director</servlet-name>
      <url-pattern>/director/*</url-pattern>
    </servlet-mapping>
  </web-app>
------------------------------------------------------------------------------------

 URLが“.do”で終了するリクエストに対するマッピング定義を以下に示します。

------------------------------------------------------------------------------------
  <web-app>
    <servlet>
      <servlet-name>action</servlet-name>
      <servlet-class>xxx.yyy.ActionServlet</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.do</url-pattern>
    </servlet-mapping>
  </web-app>
------------------------------------------------------------------------------------

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005