美文网首页
SSM中静态资源无法加载的问题

SSM中静态资源无法加载的问题

作者: 安全的小飞飞 | 来源:发表于2019-05-13 10:33 被阅读0次

彻底解决SSM中静态资源无法加载的问题

场景一:和WEB-INF目录不可访问有关

WEB-INF/web.xml中前端控制器拦截路径为*.do、*.action这样的后缀名匹配时,静态资源并不会被拦截。

如果此时请求不到静态资源,可能是静态资源位于不可直接访问的目录下(比如:WEB-INF下)。这时应该将静态资源放在可以直接访问到的目录下(例如:webapp下)。

场景二:和前端控制器有关

如果WEB-INF/web.xml中前端控制器拦截路径为 / 这样的路径时,这时所有的请求都会被拦截(除了jsp和html页面),包括静态资源也会被拦截。此时静态资源放在WEB-INF下或者WEB-INF外面都没有什么影响。

如果此时请求不到静态资源,解决办法是在spring的配置文件中使用

<mvc:resources mapping="/css/" location=“css/” />

<mvc:resources mapping="/js/" location="/js/" />

<mvc:resources mapping="/images/**" location="/images/" />

其中mapping的路径是指客户端在请求静态资源时除了项目根路径后面的路径。

location的路径是指在项目目录中从webapp下开始的路径。/**代表匹配多级目录下的所有文件

如果WEB-INF/web.xml中前端控制器拦截路径为 /* 这样的路径时,这时所有的请求都会被拦截(包括jsp和html页面),包括静态资源也会被拦截。应该和上面场景二的解决办法一样。

相关文章

网友评论

      本文标题:SSM中静态资源无法加载的问题

      本文链接:https://www.haomeiwen.com/subject/uhakaqtx.html