SSM框架-url-pattern标签

本文深入解析URL-Pattern在Servlet映射中的作用,包括其在SpringMVC中的应用,以及如何设置和匹配规则,帮助理解前端控制器如何根据URL派发请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、什么是url-pattern

简单说 servlet-mapping是用于servlet的路径映射配置,其中url-pattern为指定的映射拦截路径。在SpringMVC中,url-pattern指定了spring需要拦截派发的路径。
如果不符合规则,就会被拦截。这有点像寄信,前端控制器类似邮局,寄信人寄一封信(请求),如果收件人地址(请求路径)符合规则且正确,那么这封信就会被准确投递(访问成功),否则只能退回。至于信件里面有什么内容,要不要回信,由收件人自己去处理。

2、如何设置使用

url-pattern 标签中的值是要在浏览器地址栏中输入的 url,可以自己命名,这个 url 访问名为 servlet-name 中值的 servlet,两个 servlet-name 标签的值必须相同,因为通过 servlet 标签中的 servlet-name 标签映射到 servlet-class 标签中的值,最终访问 servlet-class 标签中的 class。

web.xml 的 / 表示的是http://localhost:8080/ + 工程名

而.jsp页面的action,加了/表示绝对路径http://localhost:8080/ ,没有加 / 表示的是相对路径

servlet和servlet-mapping都含有<servlet-name></servlet-name>主要原因是想通过servlet-name作为纽带,将servlet-class和url-pattern构成联系,从而使URL映射到类servlet-class所指定的类中!

3、匹配顺序

该标签处理客户端请求的顺序为:

(1)完全匹配
<url-pattern>/test/userList.action</url-pattern>
完全匹配就是等值匹配,它是最先被匹配到的客户端请求。

(2)路径匹配
<url-pattern>/*</url-pattern>匹配根路径下的全部请求
路径匹配类似于模糊匹配,对于/list、listInfo.do、checkInfo.action、index.jsp、abc.css、my.js等等url请求,都可以被匹配到。这种匹配的顺序排在完全匹配后面。

(3)扩展名匹配
<url-pattern>*.action</url-pattern>匹配全部action 结尾的请求
<url-pattern>*.css</url-pattern>匹配全部 css结尾的请求
<url-pattern>*</url-pattern>不能用 * ,否则报错
说明:这种匹配匹配在开发中用的比较多,但不能使用*代替,否则会报错。

结论:容器会首先查找完全匹配,如果找不到,再查找目录匹配,如果也找不到,就查找扩展名匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值