关于前端控制器中映射路径/与/*的理解
admin
2024-05-14 13:13:55
0

1、楔子

       在web项目中,常常需要用到前端控制器,前端控制器用于拦截请求,然后根据不同的请求做出不同的处理,以下主要针对/与/*的区别作出解释:

       ,是一个springmvc的前端控制器,如果不引入springmvc的参数,与javaweb中无异。其中 url-pattern属性(url模式)用于指定前端控制器拦截的请求url模式。

DispatcherServletorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:springmvc.xml1DispatcherServlet/*

2、不同url-pattern详解

  • / : 拦截所有请求,但不会拦截页面请求(/web/index.html),也不会拦截jsp的路径(web/hello)或页面请求
  • /*: 拦截所有请求(路径或页面)包括jsp,但只能拦截一层目录
  • /** :与/*一样,能够拦截所有请求,能够拦截多层目录,真正意义上的拦截所有请求

3、不同url-pattern下前端控制器执行流程

  • 当url-pattern为"/"时:
    对于路径请求: 若是其他的路径请求,前端控制器会将其拦截,然后创建映射器去匹配控制器中对应的handle方法(过程不止这一点,这里不过多描述)
    对于页面不进行拦截: 当我们直接访问一个页面资源时(如/index.html或/index.jsp),前端控制器不会拦截该请求,那么问题来了,这个请求会被怎样处理呢?

    in fact,在web项目中,除了我们自己配置的web.xml,tomcat中同样存在web.xml,这二者之间的关系为继承关系,若我们自己配置的web.xml解决不了,那么接下来就只能去tomcat中的web.xml中查找了。在tomcat的web.xml文件中,定义了两个servlet,如下:

    defaultorg.apache.catalina.servlets.DefaultServletdebug0listingsfalse1
    
    default/
    jsporg.apache.jasper.servlet.JspServletforkfalsexpoweredByfalse3
    
    jsp*.jsp*.jspx
    
  • 当url-pattern为"/*"时:
    拦截所有请求和页面: 无论是路径请求还是页面请求都会被拦截,假设当前请求没有对应的handle方法,那么该请求就会交由tomcat里的DefaultServlet进行处理,DefaultServlet根据请求响应对于页面后,这个页面又会被我们设置的/*拦截,这样就会造成404的异常

引用文章:
SpringMVC中拦截/和拦截/*的区别,访问静态资源
Spring中拦截/和拦截/*的区别 - 不能访问到返回的JSP - 访问静态资源(jpg,js等)
/ /* /**的区别

相关内容

热门资讯

原创 货... 上游买少了要罚款,下游一半收入靠股东。 作者|刘俊群 编辑|刘钦文 春节前夕,数以亿计的包裹从仓库涌...
晓鸣股份:1月鸡产品销售收入同... 晓鸣股份披露1月鸡产品销售情况简报,2026年1月销售鸡产品2288.28万羽,销售收入5859.6...
原创 中... 当大多数人还在盯着稀土的时候,中国早已把下一张牌打出了手——锑、镓、锗,三张看似“冷门”的金属证件,...
睿昂基因:收到政府补助资金20... 上证报中国证券网讯(记者 潘建樑)睿昂基因晚间公告,公司于近期收到政府补助资金共计人民币200.00...
新富科技信披疑点:募投产能与政... 来源丨时代商业研究院 作者丨陆烁宜 编辑丨郑琳 募投项目产能信息与当地政府公示信息出现差异、神秘大客...
周大福春节后将调价,店员称主要... 红星资本局2月10日消息,有市场消息称,周大福即将对黄金产品进行调价,部分产品价格上涨。 红星资本局...
再融资政策升级,换个维度看行情 近期沪深北三大交易所推出再融资一揽子优化措施,从缩短未盈利科创企业再融资间隔期、放开破发企业融资方式...
比特币反弹乏力 衍生品市场依然... 来源:滚动播报 即使比特币反弹逼近7万美元,比特币衍生品仍在释放警讯,交易员依然采取防御性布局,几乎...
首例法院协助仲裁机构调查取证完... 为全力打造国际商事争议解决和法律服务优选地,持续优化市场化、法治化、国际化、便利化一流营商环境,助力...
西部证券一个月融资80亿再次超... 作者 郑理 来源 | 独角金融 西部证券在过去一年中频繁跨过监管信披红线,以惊人的速度扩大债务规模。...
中芯国际第四季度净利润12.2... 2月10日,中芯国际发布2025年第四季度业绩快报。报告期内,公司实现营业收入178.13亿元,同比...
封面观酒丨曲线上市?“名品世家... 2月9日,港股上市公司环球印馆发布公告,宣布知名酒类连锁企业“名品世家”董事长陈明辉,通过其全资持有...
AI产业链方向延续涨势,科创人... 2月10日,AI产业链方向延续涨势,Kimi、AIGC、WEB3.0等概念涨幅居前。截至收盘,上证科...
山姆、盒马、叮咚买菜等宣布加价 春节假期近在眼前。这几天,许多店铺已结束年前营业,开始进入假期。在线上,今年各大平台纷纷宣布“春节不...
原创 德... 千年锻造遭遇高端瓶颈 定襄这地方打铁的活传得早,汉代就有记载,明朝时候村里人常说一斗芝麻能数出多少铁...
唐国强悼念导演张中一,曾拍摄9... 2月10日,唐国强发文悼念张中一:惊闻中一导演逝世,心情沉重格外痛惜,回想您当年拍摄《三国演义》之“...
康养+AI?东软集团有新动作 东软集团等在福州成立康养公司,注册资本1000万 投资时间网、标点财经快讯 天眼查App显示,近日...
投过OpenAI的顶级风投,再... 财联社2月10日讯(编辑 史正丞)投资OpenAI、xAI的美国知名科技风投安德里森·霍罗沃茨(简称...
美股异动 | 巴克莱银行盘前续... 昨日收涨1.14%的巴克莱银行(BCS.US)今日美股盘前续涨1.72%报27.17美元。消息面上,...