Spring mvc url-pattern 和@RequestMapping 映射的小问题

本文探讨了在使用DispatcherServlet时如何正确配置url-pattern以及@RequestMapping注解,通过实验对比不同配置下资源访问的区别,帮助理解Spring MVC中的路径匹配机制。

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

在web.xml 配置DispatcherServlet时 将url-pattern配置成下面的形式:

 <url-pattern>/rest/*</url-pattern>

在Controller中 方法名上面的映射路径配置成下面几种情况:

  1. /rest/url/url2
    浏览器中输入 localhost:8080/rest/url/url2
    是访问不到该资源的
  2. /url/url2 这样在浏览器中访问 localhost:8080/rest/url/url2是可以访问到的

    思考:
    url-patter呢 /xx/* 这种形式 在映射到controller的时候 * 之前路径被滤掉,只匹配最后一个*的。
    实验1:
    urlpattern 配置为 /rest/path/*
    @requetMapping 配置为 /url
    此时浏览器访问 localhost:8080/rest/path/url 才能访问到
    实验二:
    urlpattern 配置为 /rest/path 这相当于精确配置(注意path后面不能有/)
    所以
    @requetMapping 配置也必须为 /rest/path
    此时浏览器访问 localhost:8080/rest/path 才能访问到

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值