您现在的位置是:热点 >>正文
/和/*的区别记不住?我的答案保你终身难忘
热点1581480人已围观
简介...
前言
你好,我是YourBatman。
这次的标题??吹得有点大,倍感压力。不过没关系,毕竟吹牛不用上睡,也不犯法。在信息大爆炸的时代,连技术圈的标题党也不少啦:
30分钟教你手撸一个ORM框架。其实就一个反射注解拼接字符串 5分钟教你玩转Docker。额,5分钟后包就业吗? 玩转亿级流量高并发缓存方案。全国(乃至全球)能达如此流量级别的屈指可数,你确定? ...
我标榜自己从不标题党,是的这次也不例外。本文将分析/和/*的区别这个老生常谈的问题,看别的博文总是/和看了忘忘了看,本文不同的是,关于此问题这一篇文章就够了,它将成为你的永久记忆(一不小心又吹牛了??)
本文提纲
版本约定 JDK:8 Servlet:4.x tomcat:9.x 正文
什么样的答案终身难忘?学生时代关于记忆经常能听见两种论调:
死记硬背:见效快,但也忘得快,且一般不会灵活运用(指标不治本)
理解性记忆:见效慢,但记忆持久且会灵活运用(治标又治本)
如果是你,你愿意pick哪种?
正所谓授人以鱼不如授人以渔,后者方能形成永久记忆。不谋而合,本文将采用后种讲述/*方式,帮你记忆持久化。
关于/和/*的区别这个问题,依稀记得2015年我自学那会就能把它俩搞得明明白白,并且通过理解形成了“永久记忆”,所以至那会其就从来没有犯过迷糊,难道我就这么重视基础么(md,又在吹牛。。。)
点拨“市面上”的错误答案
如果用谷歌百度一下关键字:/和/*的区别,搜索出来的答案不客气的说,基本全错!!! 错误的姿势基本还一模一样,原因你懂的。
各种错误case,且听我娓娓道来。搜集了下有如下4种主流答案,一一点拨。
环境说明:使用原生Servle的区t,war包方式部署至外置Tomcat作为服务器,端口号8080,context-path为:appcontext
1、/用于Servlet,/*用于Filter
反例:
@WebFilter(urlPatterns = {"/*"}) public class FakeServlet extends HttpServlet { &别记nbsp; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { &nb不住sp; 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, Htt案保pServletResponse resp) throws ServletException, IOException { System.out.println("FakeServlet收到请求:" + req.getRequestURI()); 你终 } } @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); } }/*
启动服务器,浏览器访问:http://localhost:8080/appcontext/api/demo1.jsp,控制台输出:
FakeFilter收到请求:/appcontext/api/demo1.jsp
servlet并未匹配上,似乎符合此结论:/不会匹配.jsp请求,而/*可以。
浏览器再访问:http://localhost:8080/appcontext/api/demo1.html,控制台输出:
FakeFilte的区r收到请求:/appcontext/api/demo1.html FakeServlet收到请求:/appcontext/api/demo1.html
Filter和Servlet都匹配成功,破功了吧!
所以说,局限于该回答本身没有问题,而问题在于.jsp后缀是一种特殊的请求,拿特殊案例当做通用结论肯定是站不住脚的。
3、/*匹配范围比/大
通过本文下面的讲解你就会知道:/属于最大的的匹配范围,而/*恰好是范围和/一样了而已,但别记/*的优先级比/高,并不是它的匹配范围比/大。
4、/匹配所有url(路径+后缀),/*只匹配路径型
用一句话反驳:/*也能匹配上/api/demo1.html这种后缀型url(其实上面已经给出示例了)
这4个结论搜索排名非常靠前,不知误导了多少小朋友呀。与其每次将信将疑,倒不如花点时间写代码自己做个试验来得靠谱。我一向推崇的代码多动手,人云亦云不如自己来上一发。
Tags:
相关文章
云计算核心技术Docker教程:注册服务器基本身份验证
热点实现访问限制的最简单方法是通过基本身份验证(这与其他 Web 服务器的基本身份验证机制非常相似)。此示例使用本机基本身份验证htpasswd来存储机密。 1.为用户创建一个密码文件,其中包含一个条目t...
【热点】
阅读更多标签: 硅基智能 大司马IP 港交所上市 数字人
热点云梦级10月31日云梦级消息,南京硅基智能科技集团股份有限公司(以下简称“硅基智能”)于2025年10月31日正式向港交所递交招股说明书,拟主板挂牌上市,招银国际和DBS担任联席保荐人。 成立于201...
【热点】
阅读更多标签: 钉钉 阿里巴巴 淘宝 京东
热点Hello,大家早上好,又是元气满满的一天,先来浏览新鲜的早报吧~ 【钉钉火速换帅】 阿里巴巴 6 月 11 日宣布钉钉管理层调整:陈航卸任钉钉 CEO,1992 年技术极客陈宇森接棒。 【监管通报电...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.ushmm.org/search/results/?ID=8s0587Oi8UTv74zPPM4fuhwjNpe2hsEE&q=外推留痕软件【tg:seogoogle987】,IvC
- https://www.roblox.com/discover/?cat=107&Keyword=外推留痕软件【tg:seogoogle987】,pIR
- https://www.ntv.co.jp/3min/search/?action=QUERY&q=外推留痕软件【tg:seogoogle987】,6BF
- https://hsmoa.com/search?query=外推留痕软件【tg:seogoogle987】juN
- https://5gaa.org/?token=6e2l7hjt2i26gzgctgwdrv7v0j6nxorq&s=外推留痕软件【tg:seogoogle987】72m
- https://www.duksung.ac.kr/search/front/Search.jsp?qt=外推留痕软件【tg:seogoogle987】7bh
- https://www.mdbg.net/chinese/dictionary?page=worddict&wdrst=0&wdqb=外推留痕软件【tg:seogoogle987】,F0C
- https://www.teamlab.art/ko/?submit=外推留痕软件【tg:seogoogle987】,R5c
- https://hsmoa.com/search?query=外推留痕软件【tg:seogoogle987】wXq
- https://www.pierreherme.com/catalogsearch/result/?q=外推留痕软件【tg:seogoogle987】,4I7
- https://www.lechzuers.com/de/search?cat=163&q=外推留痕软件【tg:seogoogle987】,6Nr
- https://www.teacherspayteachers.com/Browse/Price-Range/Free/Search:Western International University Physics degree=外推留痕软件【tg:seogoogle987】,rlH
- https://www.sweat.com/collections/vendors?q=外推留痕软件【tg:seogoogle987】,wbE
- https://www.metaltix.com/?view=tours&filter=search&q=外推留痕软件【tg:seogoogle987】,01J
- https://www.lgnewsroom.com/search/外推留痕软件【tg:seogoogle987】,wpJ
- https://www.silentiumpc.com/en/search/外推留痕软件【tg:seogoogle987】,Mm2
- https://www.televes.com/es/catalogsearch/result/?q=外推留痕软件【tg:seogoogle987】,X5A
- https://xn--lgernevedlystskoven-lxb.dk/search/外推留痕软件【tg:seogoogle987】,BzQ
- https://www.writingforward.com/?action=SEARCH&s=外推留痕软件【tg:seogoogle987】,SpB
- https://www.nissin.com/jp/search/?cat=105&q=外推留痕软件【tg:seogoogle987】,PZO
- https://www.springfieldlibrary.org/?s=外推留痕软件【tg:seogoogle987】,TQ0
- https://www.skicheck.at/en/?action=CHECK&s=外推留痕软件【tg:seogoogle987】,9xT
- https://www.klatreverden.no/search?q=外推留痕软件【tg:seogoogle987】,MCE
- https://blvdseafood.com/?s=外推留痕软件【tg:seogoogle987】AT2
- https://www.roberthalf.com/us/en/jobs/all/外推留痕软件【tg:seogoogle987】lyU
- https://www.lee.com/search?q=外推留痕软件【tg:seogoogle987】,kAl
- https://www.quarterjacksurgery.co.uk/?AT=3rBy&s=外推留痕软件【tg:seogoogle987】,Fmp
- https://www.spoiledsweetboutique.com/search/外推留痕软件【tg:seogoogle987】,nff
- https://www.ussalabama.com/?action=CHECK&s=外推留痕软件【tg:seogoogle987】,r88
- https://www.wuv.edu/?s=外推留痕软件【tg:seogoogle987】,GZk
- https://www.wikiart.org/pt/Search/外推留痕软件【tg:seogoogle987】,0IJ
- https://www.l-and-b.jp/?page=1&s=外推留痕软件【tg:seogoogle987】,Izg
- https://www.merchbar.com/search?q=外推留痕软件【tg:seogoogle987】,Day
- https://www.sbaad.no/search/外推留痕软件【tg:seogoogle987】,dI1
- https://www.kissthekangaroo.com.au/index.php?route=product/search&tag=外推留痕软件【tg:seogoogle987】,GWS
- https://www.impactpool.org/search/?type=79&q=外推留痕软件【tg:seogoogle987】6nV
- https://www.remit.co.jp/id/?s=外推留痕软件【tg:seogoogle987】,Z5Q
- https://www.sonepar.ch/fr/search?q=外推留痕软件【tg:seogoogle987】,Q3S
- https://www.normani.de/search?q=外推留痕软件【tg:seogoogle987】,nKe
- https://www.rostaing.com/catalogsearch/result/?cat=22&q=外推留痕软件【tg:seogoogle987】,w6j
- https://www.rockngem.com/?action=CHECK&s=外推留痕软件【tg:seogoogle987】,YWK
- https://www.terramania.nl/catalogsearch/result/index/?q=外推留痕软件【tg:seogoogle987】,G5C
- https://www.kores.com/?s=外推留痕软件【tg:seogoogle987】,wpQ
- https://www.openstreetmap.org/search?query=外推留痕软件【tg:seogoogle987】,3tM
- https://www.ucycle.com/search/=外推留痕软件【tg:seogoogle987】,trz
- https://www.tullygroup.us/?ID=hbkq8jFjrQlVRrwzEmvoUJJAY4e1Lfo5&s=外推留痕软件【tg:seogoogle987】,QZe
- https://www.ncetm.org.uk/search?action=CHECK&q=外推留痕软件【tg:seogoogle987】,oA0
- https://nicolazzi.it/en/?s=外推留痕软件【tg:seogoogle987】,Gd0
- https://www.zisha.com/shop/list.shtml?wap_keyword=外推留痕软件【tg:seogoogle987】,WMY
- https://www.krisinformation.se/en/search?q=外推留痕软件【tg:seogoogle987】,nhM