SpringMVC中拦截器也就是前端控制器,是大环境必须要的内容,它能够配置我们的servlet的加载和拦截。
<!-- 前端控制器,是大环境必须的内容-->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!-- 使servelet一加载就能够加载spring-ioc的配置文件-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<!-- "/"表示发出任何请求都会经过我们配置的dispatcherServlet-->
<url-pattern>/</url-pattern>
</servlet-mapping>
而由于我们在url-pattern中配置的/表示任何资源都将会被我们的拦截器拦截,这就会让我们需要的js,css,png...等待一系列静态资源无法在jsp/html中加载。这是我们进行静态资源过滤的原因。
解决方案,在SpringMVC中配置告诉前端控制器哪些静态资源不用拦截:
<!-- 前端控制器,配置哪些资源不拦截-->
<mvc:resources mapping="/js/" location="/js/**"></mvc:resources>
<!-- <mvc:resources mapping="/css/" location="/css/**"></mvc:resources>-->
<!-- <mvc:resources mapping="/images/" location="/images/**"></mvc:resources>
配置图片和css
-->
location属性的根目录即类路径,在main文件夹下的所有文件夹统称类路径根目录。