我们在使用springMVC时,第一件事就是配置DispatcherServlet,也就是大名鼎鼎的前端控制器。在以前,我们可能会配置url-pattern为*.do,这样的话静态资源会由default-servlet进行拦截处理,不会产生静态资源被拦截的问题,但是如果我们配置的url-pattern为/时,那么静态资源就会被拦截,我们再去访问静态资源时,就会报404错误。
通常呢,解决办法有以下三种,
第一种:在dispatcherServlet之前配置上defaultServlet,让静态资源提前被拦截即可。
<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>*.css</url-pattern>
</servlet-mapping>
第二种:使用spring给我们提供的<mvc:resource mapping="" location=""/>
<mvc:resource mapping="static/**" location="/static/"/>
第三种:使用如下标签
<mvc:default-servlet-handler/>
综合起来看,第三种方法最简单,最实用。