1.serlvet的匹配规则:
1).路径精确匹配
2).最长路径匹配
3).扩展匹配
4).如果容器定义了一个default servelt(即匹配路径为“/”的servlet),则会将请求交给default servlet
*默认在%TOMCAT_HOME%/conf/web.xml中配置了*.jsp由JspServelt来处理,当我们将spring mvc的拦截规则配置为/*的时候,按照servlet的匹配规则,则路径匹配会优先于扩展匹配,导致对jsp的请求会被拦截掉。
3.filter的顺序为filter-mapping在web.xml中声明路径的顺序,即filter-mapping的顺序
1).路径精确匹配
2).最长路径匹配
3).扩展匹配
4).如果容器定义了一个default servelt(即匹配路径为“/”的servlet),则会将请求交给default servlet
注意:/*.action:错误的匹配规则,不能即是路径匹配,也是扩展匹配
*默认在%TOMCAT_HOME%/conf/web.xml中配置了*.jsp由JspServelt来处理,当我们将spring mvc的拦截规则配置为/*的时候,按照servlet的匹配规则,则路径匹配会优先于扩展匹配,导致对jsp的请求会被拦截掉。
*当spring mvc配置为/,表示未默认servelt,只有当请求没有对应的servlet处理时,才交给它处理,当我们请求jsp时,刚好有从%TOMCAT_HOME%/conf/web.xml中继承过来的JspServlet会处理对jsp请求的处理,所以会访问到jsp页面。
3.filter的顺序为filter-mapping在web.xml中声明路径的顺序,即filter-mapping的顺序