SpringMVC拦截静态资源的解决方案
2017-08-27 12:14
197 查看
问题bug:
在使用SpringMVC来部署web项目时,在访问静态资源的时候,我们经常会出现404资源未找到的问题。原因:
这是因为其中的DispatcherServlet会对静态资源进行拦截,导致了静态资源无法访问。解决方案:
方案一、在web.xml中设置defaultServlet,注意这个配置需要DispatcherServlet拦截的前面,才能起到提前拦截的效果。
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.gif</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern> </servlet-mapping>
其中default是Tomcat的默认servlet名称,如果是其他是服务器可以去查查相关默认servlet名称。
方案二、在springmvc配置文件中配置resource
<mvc:resources mapping="/images/**" location="/images/" />
其中location是静态资源目录的路径,mapping是映射到ResourceHttpRequestHandler进行处理。
方案三、在SpringMVC为静态资源配置默认servlet处理器(这是我经常使用的方法)
<mvc:default-servlet-handler/>
参考文章:http://lzy83925.iteye.com/blog/1186609
相关文章推荐
- springmvc找不到静态资源之解决方案
- 详解springmvc拦截器拦截静态资源
- springMVC设置不拦截静态资源
- SpringMVC的静态资源拦截
- springmvc配置不拦截静态资源
- 定义不被SpringMVC拦截的静态资源(html, js, css等文件),通用方法,不需要每个目录都设置
- SpringMVC拦截静态资源的问题
- SpringMVC 拦截器不拦截静态资源的三种处理方式
- SpringMVC中拦截/和拦截/*的区别 - 不能访问到返回的JSP - 访问静态资源(jpg,js等
- SpringMVC 拦截器不拦截静态资源的三种处理方式
- SpringMVC 拦截器不拦截静态资源的三种处理方式
- 详解SpringMVC中设置静态资源不被拦截的问题
- springmvc 拦截器拦截静态资源
- SpringMVC 拦截器不拦截静态资源的三种处理方式
- SpringMVC 拦截器不拦截静态资源的三种处理方式
- SpringMVC 拦截器不拦截静态资源的三种处理方式
- 防止SpringMVC拦截器拦截js等静态资源文件
- SpringMVC 拦截器不拦截静态资源的三种处理方式
- SpringMVC访问静态资源被拦截
- 防止SpringMVC拦截器拦截js等静态资源文件