次の構成で:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
tomcat7とTomcat6の両方が次のURLを正常に処理します:http://127.0.0.1:8087/mynet/index.html
ただし、構成を減らしてCSSパターンに言及するだけの場合:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
その後、Tomcat6は動作しますが、Tomcat7は次のエラーで失敗します:要求されたリソース()は利用できません。
なぜここに違いがあるのですか?
Webappのweb.xml
にコンテナのdefault
サーブレットをマップする必要がありますnot。これが解決策であると考えた機能要件が何であれ、間違いなく別の方法で解決する必要があります。
たとえば、/
のURLパターンでカスタムフロントコントローラーサーブレットでオーバーライドした場合は、代わりに、より具体的なURLパターンでリッスンするようにそのサーブレットを修正する必要があります。必要に応じて、フィルターを使用して、/static
や/resources
などの単一フォルダーにすべての静的リソースを収集し、フィルターにチェックさせることにより、サーブレットの特定のURLパターンを「隠す」。