注: このセクションの内容はStrutsに固有のものではありません。サーブレットマッピングの構成は、Javaサーブレット仕様で定義されています。このセクションでは、アプリケーションを構成する最も一般的な方法について説明します。
コントローラーサーブレットによって処理されるURLを定義するには、プレフィックスマッチングと拡張子マッチングの2つの一般的なアプローチがあります。各アプローチの適切なマッピングエントリについては、以下で説明します。
プレフィックス一致とは、特定の値で始まる(コンテキストパス部分の後に続く)すべてのURLをこのサーブレットに渡すことを意味します。このようなエントリは次のようになります。
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/do/*</url-pattern>
</servlet-mapping>
つまり、/logon
前述のパスと一致するリクエストURIは次のようになります。
http://www.mycompany.com/myapplication/do/logon
どこ/myapplication
アプリケーションがデプロイされるの下にコンテキストパスです。
一方、拡張マッピングは、URIがピリオドで終わり、その後に定義された文字セットが続くという事実に基づいて、リクエストURIをアクションサーブレットと照合します。たとえば、JSP処理サーブレットは*.jsp
パターンにマップされ、リクエストされたすべてのJSPページを処理するために呼び出されます。
拡張機能(「何かを行う」ことを意味します)を使用するには*.do
、マッピングエントリは次のようになります。
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
/logon
前述のパスと一致するリクエストURIは次の
ようになります。
http://www.mycompany.com/myapplication/logon.do
警告 - <servlet-mapping>
コントローラサーブレットに複数の要素を定義すると、フレームワークは正しく動作しません。
警告 -バージョン1.1以降の新しいモジュールサポートを使用している場合は、拡張マッピングのみがサポートされていることに注意してください。