当前位置: 代码迷 >> 综合 >> SpringMVC:过滤静态资源
  详细解决方案

SpringMVC:过滤静态资源

热度:45   发布时间:2023-09-18 15:58:31.0

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文件夹下的所有文件夹统称类路径根目录。

  相关解决方案