咕噜是个大胖子 2018-07-16 08:47 采纳率: 0%
浏览 2067
已采纳

javaweb servlet中映射路径配置问题

一、/* 和*.do的匹配问题

我web.xml中的配置如下

 <servlet>
        <servlet-name>TwoServlet</servlet-name>
        <servlet-class>com.fh.TwoServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>TwoServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>


    <servlet>
        <servlet-name>FourServlet</servlet-name>
        <servlet-class>com.fh.FourServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>FourServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

然后做测试时发现,若访问路径为

 http://localhost/test/a.do 

http://localhost/test/xxx/yyy/a.do 

个人理解的*.do就是匹配末尾是.do结尾的路径,而/*则是全部范围任意匹配

按照我的理解,结果应该以上两个路径应该都是访问FourServlet这个类,但是实际结果却全是TwoServlet类,所以希望有经验的朋友能帮忙解答,谢谢

  • 写回答

13条回答 默认 最新

  • qq_36520173 2018-07-16 09:08
    关注

    匹配的优先级,最精确匹配>最长路径匹配>扩展名匹配

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(12条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵