【总结】servlet mapping url 配置中的 / 和 /* 的区别

web.xml的配置中,关于<url-pattern>的配置,/和/*到底什么区别之 (总结篇)。
<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

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


/* 的意思是“所有的请求”
/ 的意思是“所有的末被其它servlets接收并处理的请求”。


比如在String的DispatcherServlet中,如果用了 /*,那么就会处理所有的请求,这意味着也会比JSP servlet优先处理.jsp请求。

所以这也是为什么在DispacherServlet中通常配置的是<url-pattern>/</url-pattern>。

通常情况下,只有在Filter中才会使用 /* ,这样可以监听所有的request请求(使得所有的url都经过你定义的Filter)。



猜你喜欢

转载自angelbill3.iteye.com/blog/2196653
今日推荐