springMvc在拦截了所有的请求后很容易出现静态资源不能访问的情况。
<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:dispatcher-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>
做上如上这段配置后,springMvc会把所有的请求都当做servlet来处理,去找对应的controller,找不到就会出现404错误。
解决办法有好几种,我这里就只说一种了,其余的请自行百度
1、在mvc.xml文件里面添加如下代码
<mvc:resources location="/images/" mapping="/images/**" cache-period="31556926" />
<mvc:resources location="/static/" mapping="/static/**" cache-period="31556926" />
告诉springMvc这些不用拦截,并在对应的mapping找对应的资源。
注意:静态资源请不要放在WEB-INF目录下,因为WEB-INF目录下的文件是不能公开访问的,我曾在这里纠结了好半天,在此提醒下和我同样小白的你。