关于Spring-MVC中的过滤器请求路径/和/*的区别

本文探讨了Spring-MVC中配置过滤器时,使用<url-pattern>/</url-pattern>与<url-pattern>/*</url-pattern>的差异。前者不会拦截jsp页面,仅拦截路径,而后者会拦截路径和页面,可能导致404错误。正确理解这两者的区别对于避免Spring DispatcherServlet处理问题至关重要。
摘要由CSDN通过智能技术生成
  • < url-pattern > / </ url-pattern > 不会拦截页面,只会拦截路径。
    不会匹配到*.jsp,即:*.jsp不会进入spring的 DispatcherServlet类 。
  • < url-pattern > /* </ url-pattern > 会拦截路径和页面。
    会匹配*.jsp,会出现返回jsp视图时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。

总之,关于web.xml的url映射的小知识:
< url-pattern>/</ url-pattern> 会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url
< url-pattern>/ *</ url-pattern> 会匹配所有url:路径型的和后缀型的url(包括/login,.jsp,.js和*.html等)

  • 另外:
    /* 是拦截所有的文件夹,只有后面一级,不包含子文件夹
    /** 可以包含多级,是拦截所有的文件夹及里面的子文件夹

附上正确的web.xml写法

<!-- 配置前端控制器:DispatcherServlet -->
  <servlet>
    <servlet-name>springservlet</servlet-name>
    <servlet-class>org.springfra
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值