1.springMVC自带的<mvc:resources />配置静态资源访问(推荐)
2.<mvc:default-servlet-handler/> (静态资源请求交由web容器)
1. springMVC自带的<mvc:resources />配置静态资源访问(推荐)
在springMVC的配置文件中,使用resources配置
<mvc:annotation-driven/> 会自动注册默认处理请求,参数和返回值的类 ;(如果只配置了<mvc:resources />,spring 的 DispatcherServlet将无法区分请求是资源文件还是mvc的注解,会导致controller的请求报404错误)
<mvc:resources /> 中mapping为请求URL地址信息 location为请求实际地址信息
<mvc:annotation-driven/>
<mvc:resources location="classpath:/" mapping="/resources/**"/>
<mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>
<!-- location下多个值时,使用逗号分割 -->
......
2. <mvc:default-servlet-handler/>方式实现静态资源处理
在springMVC的配置文件中增加以下配置(这种方式,静态资源必须放在webapp根目录下)
<mvc:default-servlet-handler/>
添加此标签配置后,会在SpringMVC上下文中定义一个DefaultServletHttpRequestHandler对象,会对进入DispatcherServlet的url请求进行过滤筛查:
如果发现是一个静态资源请求那么会把请求转由web应用服务器 默认的DefaultServlet来处理,如果不是静态资源请求,那么继续由SpringMVC框架处理