Servlet URL Mapping

優先順位

ファイルがローカルにあれば、そちらに優先してマッチする。
パターンマッチが無いほうが先
パターンは長いほうが先
デフォルト(/)は最後にマッチ

ServletでフォルダーのWelcomeページ(index.html)相当にだけマッチさせる


<url-pattern>/folder</url-pattern>
<url-pattern>/folder/</url-pattern>
<url-pattern>/folder/index.html</url-pattern>

これで /folder,/folder/,/folder/index.htmlにマッチ
/folder/index2.htmlにはマッチしない

/folder/index.htmlが存在すると

/folder
/folder/
/folder/index.htmlにマッチしなくなる。
ファイルが優先なので

<url-pattern>/folder/*</url-pattern>の場合

これだと、
/folder
/folder/
/folder/index.html
に加えて
/folder/index2.htmlとか、/folder/以下のURLにもマッチする。

このパターンだと、なぜか、
folder/index.html というファイルがあったとしても、/folder,/folder/ へのアクセスはサーブレットが処理してしまう。
もちろん、folder/index.htmlはファイル優先になるが

存在しないパターン

<url-pattern>/folder3*</url-pattern>
folder3test,folder3file などがマッチするファイル名のパターンは無効


Comments