您现在的位置是:热点 >>正文
/和/*的区别记不住?我的答案保你终身难忘
热点1398人已围观
简介...
前言
你好,我是YourBatman。
这次的标题??吹得有点大,倍感压力。不过没关系,毕竟吹牛不用上睡,也不犯法。在信息大爆炸的时代,连技术圈的标题党也不少啦:
30分钟教你手撸一个ORM框架。其实就一个反射注解拼接字符串 5分钟教你玩转Docker。额,5分钟后包就业吗? 玩转亿级流量高并发缓存方案。全国(乃至全球)能达如此流量级别的屈指可数,你确定? ...
我标榜自己从不标题党,是的这次也不例外。本文将分析/和/*的区别这个老生常谈的问题,看别的博文总是/和看了忘忘了看,本文不同的是,关于此问题这一篇文章就够了,它将成为你的永久记忆(一不小心又吹牛了??)
本文提纲
版本约定 JDK:8 Servlet:4.x tomcat:9.x 正文
什么样的答案终身难忘?学生时代关于记忆经常能听见两种论调:
死记硬背:见效快,但也忘得快,且一般不会灵活运用(指标不治本)
理解性记忆:见效慢,但记忆持久且会灵活运用(治标又治本)
如果是你,你愿意pick哪种?
正所谓授人以鱼不如授人以渔,后者方能形成永久记忆。不谋而合,本文将采用后种/*讲述方式,帮你记忆持久化。
关于/和/*的区别这个问题,依稀记得2015年我自学那会就能把它俩搞得明明白白,并且通过理解形成了“永久记忆”,所以至那会其就从来没有犯过迷糊,难道我就这么重视基础么(md,又在吹牛。。。)
点拨“市面上”的错误答案
如果用谷歌百度一下关键字:/和/*的区别,搜索出来的答案不客气的说,基本全错!!! 错误的姿势基本还一模一样,原因你懂的。
各种错误case,且听我娓娓道来。搜集了下有如下4种主流答案,一一点拨。
环境说明:使用原生Servl的区et,war包方式部署至外置Tomcat作为服务器,端口号8080,context-path为:appcontext
1、/用于Servlet,/*用于Filter
反例:
@WebFilter(urlPatterns = {"/*"}) public class FakeServlet extends HttpServlet {  别记; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { &n不住bsp; System.out.println("FakeServlet收到请求:" + req.getRequestURI()); } }
启动服务器,浏览器访问:http://localhost:8080/appcontext/api/demo1,控制台输出:
FakeServlet?我收到请求:/appcontext/api/demo1
一般来讲/确实用于Servlet,/*用于Filter,但并不代表这是正确的。
说明:Filter路径模式使用/无效
2、/不会匹配.jsp请求,而/*可以匹配到.jsp请求
这个结论表面上看没有问题,但是往深了想一步,是否能够推导出这个结论:“/不会匹配.html请求,而/*可以匹配到.html请求”。试试看:
@WebServlet(urlPatterns = {的答"/"}) public class FakeServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, 案保HttpServletResponse resp) throws ServletException, IOException { System.out.println("FakeServlet收到请求:" + req.getRequestURI()); &nbs你终p; } } @WebFilter(urlPatterns = {"/*"}) public class FakeFilter extends HttpFilter { @Override 身难 protected void doFilter(HttpServletRequest req, HttpServletResponse res, FilterChain chain) throws IOException, ServletException { /和 System.out.println("FakeFilter收到请求:" + req.getRequestURI()); super.doFilter(req, res, chain); }&nb/*sp;}
启动服务器,浏览器访问:http://localhost:8080/appcontext/api/demo1.jsp,控制台输出:
FakeFilter收到请求:/appcontext/api/demo1.jsp
servlet并未匹配上,似乎符合此结论:/不会匹配.jsp请求,而/*可以。
浏览器再访问:http://localhost:8080/appcontext/api/demo1.html,控制台输出:
FakeFilt的区er收到请求:/appcontext/api/demo1.html FakeServlet收到请求:/appcontext/api/demo1.html
Filter和Servlet都匹配成功,破功了吧!
所以说,局限于该回答本身没有问题,而问题在于.jsp后缀是一种特殊的请求,拿特殊案例当做通用结论肯定是站不住脚的。
3、/*匹配范围比/大
通过本文下面的讲解你就会知道:/属于最大的的匹配范围,而/*恰好是范围和/一样了别记而已,但/*的优先级比/高,并不是它的匹配范围比/大。
4、/匹配所有url(路径+后缀),/*只匹配路径型
用一句话反驳:/*也能匹配上/api/demo1.html这种后缀型url(其实上面已经给出示例了)
这4个结论搜索排名非常靠前,不知误导了多少小朋友呀。与其每次将信将疑,倒不如花点时间写代码自己做个试验来得靠谱。我一向推崇的代码多动手,人云亦云不如自己来上一发。
Tags:
相关文章
标签: 智谱 GLM MaaS 港股
热点云梦级1月8日云梦级消息,北京智谱华章科技股份有限公司(简称“智谱”,股票代码:“02513”)今日在港交所上市。 智谱此次发行3741.95万股,发行价为116.2港元,募资总额为43亿港元;扣除上...
【热点】
阅读更多标签: 西部数据 WD 机械硬盘 AI基础设施
热点云梦级2月4日云梦级消息,机械硬盘巨头西部数据宣布正式发布全新品牌和标识,其企业名称也随之从 Western Digital 更新为已被广泛使用的首字母简写 WD。 西部数据表示: 这一变化,既反映了...
【热点】
阅读更多马斯克旗下 xAI 起诉苹果和 OpenAI,指控阻碍 AI 竞争
热点据路透社报道,埃隆・马斯克(Elon Musk)创立的人工智能公司 xAI 于周一在美国德克萨斯州联邦法院对苹果公司及 ChatGPT 的开发商 OpenAI 提起诉讼。xAI 指控这两家公司非法合谋...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.military-history.org/?s=快排霸屏软件【tg:seogoogle987】,OyG
- https://www.teamlab.art/th/?submit=快排霸屏软件【tg:seogoogle987】,0On
- https://www.nyif.com/catalogsearch/result/index/?f=sarbanesoxleyU&index=me_cms_pe&lit=20&mode=list&p=1&q=快排霸屏软件【tg:seogoogle987】,6cC
- https://jihoon471.cafe24.com/product/search.html?banner_action=&keyword=快排霸屏软件【tg:seogoogle987】xUR
- https://www.olx.ba/pretraga?trazilica=快排霸屏软件【tg:seogoogle987】,EaI
- https://www.manga-news.com/index.php/recherche/?q=快排霸屏软件【tg:seogoogle987】,aKC
- https://www.duksung.ac.kr/search/front/Search.jsp?qt=快排霸屏软件【tg:seogoogle987】hgZ
- https://www.routesonline.com/search/?query=快排霸屏软件【tg:seogoogle987】,PlF
- https://www.sonepar.ch/fr/search?q=快排霸屏软件【tg:seogoogle987】,kvo
- https://www.kawainter.com/catalogsearch/result/?q=快排霸屏软件【tg:seogoogle987】,kLG
- https://www.teamlab.art/fr/?submit=快排霸屏软件【tg:seogoogle987】,RNk
- https://www.livehindustan.com/tags/快排霸屏软件【tg:seogoogle987】,Kb6
- https://www.universal-music.co.jp/search/?q=快排霸屏软件【tg:seogoogle987】,Eva
- https://www.resopal.de/catalogsearch/result/?action=SEARCH&q=快排霸屏软件【tg:seogoogle987】,Zu6
- https://www.abbreviations.com/快排霸屏软件【tg:seogoogle987】UDd
- https://www.merchbar.com/search?q=快排霸屏软件【tg:seogoogle987】,PXK
- https://www.kores.com/?s=快排霸屏软件【tg:seogoogle987】,D5v
- https://search.danawa.com/dsearch.php?query=快排霸屏软件【tg:seogoogle987】Rk7
- https://www.sic-info.org/vi/?s=快排霸屏软件【tg:seogoogle987】,xoR
- https://www.normani.de/search?q=快排霸屏软件【tg:seogoogle987】,glF
- https://www.valuecolleges.com/?action=QUERY&s=快排霸屏软件【tg:seogoogle987】,oo3
- https://www.remit.co.jp/zh/?s=快排霸屏软件【tg:seogoogle987】,RcC
- https://www.youtube.com/results?search_query=快排霸屏软件【tg:seogoogle987】,3ay
- https://www.pixiv.net/tags/快排霸屏软件【tg:seogoogle987】,yDn
- https://www.teacherspayteachers.com/Browse/Price-Range/Free/Search:快排霸屏软件【tg:seogoogle987】,qvD
- https://www.searcychamber.com/list/search?AsfnA=DtkTQzs&q=快排霸屏软件【tg:seogoogle987】,Wri
- https://www.prattlibrary.org/search?q=快排霸屏软件【tg:seogoogle987】,xuP
- https://www.tarleton.edu/news/search/快排霸屏软件【tg:seogoogle987】,ATU
- https://www.tmtpost.com/search?q=快排霸屏软件【tg:seogoogle987】,HPD
- https://www.wuv.edu/?s=快排霸屏软件【tg:seogoogle987】,Jzg
- https://www.udc.co.uk/index.php?route=product/search&sort=p.price&order=DESC&tag=快排霸屏软件【tg:seogoogle987】,UJQ
- https://www.southmeadows.co.uk/2019/07/?s=快排霸屏软件【tg:seogoogle987】,JVD
- https://m.shoppinghow.kakao.com/m/search/q/快排霸屏软件【tg:seogoogle987】8aF
- https://www.polar-tech.com/?action=QUERY&s=快排霸屏软件【tg:seogoogle987】,OL9
- https://www.thealexandrian.net/?s=快排霸屏软件【tg:seogoogle987】,jni
- https://www.tombow.com/search/快排霸屏软件【tg:seogoogle987】,XJs
- https://www.repetto.jp/item/search?action=QUERY&q=快排霸屏软件【tg:seogoogle987】,rmE
- https://www.zutari.com/search/快排霸屏软件【tg:seogoogle987】,q8N
- https://www.rea.govt.nz/search?searchterm=快排霸屏软件【tg:seogoogle987】,ctX
- https://search.danawa.com/dsearch.php?query=快排霸屏软件【tg:seogoogle987】MwE
- https://www.televes.com/es/catalogsearch/result/?q=快排霸屏软件【tg:seogoogle987】,MVy
- https://blvdseafood.com/?s=快排霸屏软件【tg:seogoogle987】TrV
- https://www.laoairlines.com/?action=QUERY&s=快排霸屏软件【tg:seogoogle987】,WjF
- https://www.krisinformation.se/en/search?q=快排霸屏软件【tg:seogoogle987】,UvT
- https://www.selfsufficientish.com/main/?s=快排霸屏软件【tg:seogoogle987】,7az
- https://www.youthforum.org/search-results?cx=4f5236218ab5e8ef9&ie=UTF-8&q=快排霸屏软件【tg:seogoogle987】,xmy
- https://www.tiktok.com/tag/快排霸屏软件【tg:seogoogle987】,nDr
- https://www.lneg.pt/?cat=140&s=快排霸屏软件【tg:seogoogle987】,Zh7
- https://www.lezhin.com/ko/tags/快排霸屏软件【tg:seogoogle987】,SL3
- https://www.remit.co.jp/vi/?s=快排霸屏软件【tg:seogoogle987】aE4