我的调度程序 servlet 映射到应用程序的根目录。
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
我的 webroot 中有一个名为“static”的文件夹。它包含 CSS、JS 和图像文件。但是,由于调度程序 servlet 映射,对静态内容的请求以 404 结束。
我知道解决这个问题的解决方案。
使调度程序映射到更具体的 URL,例如:context:/app/,然后编写一个过滤器来拦截请求,并有条件地映射到默认 servlet,或者委托给 spring 调度程序。
URL 重写技巧。
使用
<mvc:resources />
问题是,我的映射是基于 XML 的,我绝对不会以使用注释的名义将我的映射配置分散在各处。因此,如果我使用<mvc:resources />
,我的基于 xml 的映射会中断,并且到不同控制器的所有 url 映射都会丢失。
这是因为<mvc:resources /
> 会覆盖某些设置并应用它自己的设置。但它也是静态内容最干净的解决方案。
有什么方法可以告诉<mvc:resources />
不要覆盖我的基于 xml 的映射?