完美解决SpringMVC中无法访问静态资源问题
大致问题是 在web.xml中
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
配置会把所有的请求都会进行拦截,交给spring去处理。而spring所有请求的URL都是在controller中使用注解@RequestMapping标明,所以这样的情况下访问静态资源是访问不到的。
由于/
会将所有请求都交于spring去处理
解决办法
将所有静态资源放在webapp下的statics下(不要放在WEB-INF下),在springmvc的配置文件中设置如下
<mvc:resources mapping="/statics/**" location="/statics/" />
这样静态资源都可以访问了