web.xml中url-pattern的/和/*的区别

web.xml中url-pattern的/和/*的区别:
url-pattern:指定相对于Servlet的URL的路径。该路径相当于web应用程序上下文的根路径。<servlet-mapping>将URL模式映射到某个Servlet,即该Servlet处理的URL。

<url-pattern>/</url-pattern>可以匹配所有的url:路径型的和后缀型的url(包括/query,.jsp,.js和.html等),一般用于过滤器。

<url-pattern>/</url-pattern>主要用于拦截静态资源。会替换servlet容器中默认的servlet

我们看到 /* 对应的Servlet会被丢到wildcardWrappers中 会匹配*.jsp,会出现返回jsp视图时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。

*. 会被丢到extensionWrappers中

/ 会被丢到defaultWrapper中 不会匹配到.jsp,即:.jsp不会进入spring的 DispatcherServlet类 。

其他的映射都被丢到exactWrappers中

规则1:精确匹配,使用contextVersion的exactWrappers

规则2:前缀匹配,使用contextVersion的wildcardWrappers

规则3:扩展名匹配,使用contextVersion的extensionWrappers

规则4:使用资源文件来处理servlet,使用contextVersion的welcomeResources属性,这个属性是个字符串数组

规则7:使用默认的servlet,使用contextVersion的defaultWrapper

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值