Spring-mvc配置“”路径过滤问题

it2024-07-16  82

首先大家都知道"/*"可以匹配所有url,包括带扩展名的,一般只用在过滤器上。

一般Spring-mvc的核心

<servlet>   <servlet-name>springDispatcherServlet</servlet-name>   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>   <init-param>     <param-name>contextConfigLocation</param-name>     <param-value>classpath:bean.xml</param-value>   </init-param>   <load-on-startup>1</load-on-startup> </servlet>

<!-- Map all requests to the DispatcherServlet for handling --> <servlet-mapping>   <servlet-name>springDispatcherServlet</servlet-name>

<!--  配置资源过滤路径为"/" -->

  <url-pattern>/</url-pattern> </servlet-mapping>

而"/"其实也能拦截“.js”,“.css”,".png"等静态资源的访问。造成静态资源的加载出错。

spring配置文件加<mvc:default-servlet-handler />

<!-- 它会像一个检查员,对进入DispatcherServlet的URL进行筛查,如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由DispatcherServlet继续处理。 -->

 

网上还有一种

<!-- 放行静态资源 -->

<mvc:resources location="/js/" mapping="/js/**"/> 

<mvc:resources location="/css/" mapping="/js/**"/>

 <mvc:resources location="/images/" mapping="/js/**"/>

可以试试!

转载于:https://www.cnblogs.com/zengjp/p/7248498.html

最新回复(0)