具有以下配置:
<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失败了:请求的资源()不可用。
为什么这里有区别?
发布于 2012-05-09 02:24:28
您不应该将容器的default servlet映射到webapp的web.xml中。无论您认为这是解决方案的功能需求,它肯定必须以不同的方式解决。
例如,如果您在/的URL模式上使用一个自定义前端控制器servlet重写了它,那么您应该修复该servlet,以侦听更具体的URL模式。必要时使用过滤器“隐藏”servlet的特定URL模式,方法是在单个文件夹(如/static或/resources )中收集所有静态资源,并让过滤器对其进行检查。
https://webmasters.stackexchange.com/questions/29550
复制相似问题