/*和/**在web.xml中和在applicationContext.xml中一样的意思吗

/*和/**在web.xml中和在applicationContext.xml中一样的意思吗

看到老师的回复/* 是拦截所有的文件夹,不包含子文件夹。/** 是拦截所有的文件夹及里面的子文件夹

注意到在web.xml中过滤器配置使用的是/*,是不是只有applicationContext.xml中的配置才是这样?web.xml中是不是没有/**,/*就表示包括子文件夹的所有?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,非常抱歉,之前是老师描述有误,这二者语法并不一样。

    1、同学的说法是正确的,applicationContext.xml中,path写入的是进行配置拦截的路径

拦截所有应该是/**,课程中也书写的是/**。

http://img1.sycdn.imooc.com//climg/6093556409b5015211070365.jpg

    2、在web.xml中过滤器配置使用的是/*,这是因为在web.xml中有具体的定义映射的语法: 

     以"/"开头和以"/*"结尾的是用来做路径映射的。 

     以前缀"*."开头的是用来做扩展映射的,比如:  *.html 

    “/” 是用来定义默认的Servlet映射的。 

     剩下的都是用来定义详细映射的。比如: /aa/bb/cc

祝学习愉快!

好帮手慕小班 2021-05-05 10:32:22

同学你好,在applicationContext.xml中和web.xml中/**以及/*等表达的意思是一样的。

祝学习愉快!

  • 提问者 Wonwayshon #1

    在配置过滤器时url-pattern中的/*实际上是是拦截所有的文件夹,不包含子文件夹?过滤器要过滤所有内容url-pattern中不写/**吗?

    2021-05-05 10:49:02
  • 好帮手慕小班 回复 提问者 Wonwayshon #2

    同学你好,1、是的。/*表示拦截所有文件夹,不包含子文件夹。

        ​2、同学可以这样理解:

    /*表示匹配一级目录,如:/add

    /**表示匹配多级目录,如:/staff/add

    所以配置过滤器时,拦截所有,直接书写为/*即可。

    祝学习愉快!

    2021-05-05 17:02:33
  • 提问者 Wonwayshon 回复 好帮手慕小班 #3
    看老师的讲解,拦截所有不是更应该书写/**吗,/*不会拦截不到多级目录吗?
    2021-05-06 00:12:05
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师