繁体   English   中英

Spring MVC REST:由于url-pattern而无法访问静态文件

[英]Spring MVC REST : static files unaccessible because of url-pattern

我的Spring Dispatcher servlet url-pattern是/ *(正如Spring MVC REST建议的那样)
现在,所有请求都由此Servlet解决。 甚至CSS / JS / Images也可以通过servlet解决和处理。

所以,Spring MVC试图找到控制器.. :(

如何绕过这个? 有没有任何标准的方法解决这个问题?

&不想将url-pattern更改为/ rest / *(因此,/ css /或/ js等访问其他静态资源)

您可以将控制器映射到较小的URL集(即/ app / *),然后重写用户实际看到的URL,以便他们甚至不知道。 查看mvc-basic webapp示例 ,特别是web.xml和urlrewrite.xml,了解如何完成此操作。

将Spring调度程序映射到URL空间的某个子部分,并使用Tuckey重写用户处理的URL。

http://www.example.org/app/controller/action - > http://www.example.org/controller/action

只是对此进行了一次更新:Spring示例中定义的默认重写配置对我来说不是开箱即用的。 样式表,脚本等的重写规则仍然处理到/ app / *规则,随后由DispatchServlet处理,这是不可取的。

我必须在styles / scripts / images规则中添加last="true"属性,以指示其他规则不适用,并且我必须在任何CSS / JS包含路径中使用FreeMarker Spring URL宏。

以防有人遇到同样的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM