在前端控制器和过滤器等SpringMVC配置中,经常要设置对请求拦截的范围,即拦截特定请求或所有请求,其中 / 和 /* 通常来说都是拦截所有请求,但其实只有一个才是真正拦截所有请求,用前端控制器来说明:
<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>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
在 url-pattern 中设置了拦截范围, /* 时,会无法正常访问jsp页面,因为这时对jsp页面的请求也被前端控制器拦截了,而设置为 / 时,就能正常访问jsp页面了
总结:/*才是真正意义上的拦截所有请求