首页 > 代码库 > Spring中拦截/和拦截/*的区别

Spring中拦截/和拦截/*的区别

在基于Spring MVC的Application中,需要在web.xml中增加下面类似的配置信息:

<!--   Spring MVC Servlet -->
<servlet>
  <servlet-name>servletName</servlet-name>
  <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

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

此处需要特别强调的是 <url-pattern>/</url-pattern>使用的是/,而不是/*,如果使用/*,那么请求时可以通过DispatcherServlet转发到相应的Action或者Controller中的,但是返回的内容,如返回的jsp还会再次被拦截,这样导致404错误,即访问不到jsp。所以如果以后发现总是有404错误的时候,别忘了check一下 <url-pattern>/</url-pattern>的配置是否是/*.

Spring中拦截/和拦截/*的区别