我正在尝试使用SpringMVC编写Web应用程序。通常,我会将一些自定义的文件扩展名映射到Spring的前端控制器上,并且可以顺利地运行,但这次我想要REST-like URL,没有文件名扩展名。
将我的上下文路径下的所有内容都映射到前端控制器(我们称之为“app”)意味着我还需要处理静态文件,这是我不想做的事情(为什么要重复造轮子?),因此与Tomcat的默认servlet(我们称之为“tomcat”)结合使用似乎是可行的方法。
我通过以下方式使它正常工作:
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>tomcat</servlet-name>
<url-pattern>*.ext</url-pattern>
</servlet-mapping>
并且对于我的静态内容的每个文件扩展名重复执行后者。我只是想知道为什么以下设置(对我来说与上述设置等效)不起作用。
<!-- failed attempt #1 -->
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>tomcat</servlet-name>
<url-pattern>*.ext</url-pattern>
</servlet-mapping>
<!-- failed attempt #2 -->
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>tomcat</servlet-name>
<url-pattern>/some-static-content-folder/*</url-pattern>
</servlet-mapping>
有人可以解释一下吗?