ai努学 2024-03-26 00:13 采纳率: 11.1%
浏览 482
已结题

javaweb访问servlet,http报404,请求资源不可用

Javaweb访问Servlet,使用url-pattern映射报404咋回事?是映射写出错?还是配置的问题?为啥会请求资源不可用?
结果示意图:

img

img

代码如下图:

img

img

img

  • 写回答

3条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-03-26 10:15
    关注

    【相关推荐】



    • 这篇博客: javaweb三大技术点之servlet中的 1.url-pattern的配置 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      url-pattern配置方式共有三种:

      ​ 1.完全路径匹配 :以 / 开始 ; /aa/bb

      ​ 例如: /demo01 ,/login, /aaa/ServletDemo5 , /aaa/bbb/ServletDemo6

      ​ 2.目录匹配:以 / 开始需要以 * 结束. ===>过滤器

      ​ 例如: /* (所有) /aaa/* (aaa目录下的所有) /aaa/bbb/*

      ​ 3.扩展名匹配 :不能以 / 开始, 以 * 开始的 .

      ​ 例如:

      *.do, *.jsp,*.jpg   

      ​ 错误的写法 : /*.do

      ​ 缺省路径(系统自带的)

      ​ 通常情况访问 html页面时,首先从当前web项目的web.xml文件寻找匹配路径,如果如果没有找到,再从tomcat默认的web.xml匹配,将使用缺省servlet

      • 一个路径对应一个servlet,但是一个servlet可以有多个路径

      • tomcat获得匹配路径时,优先级顺序:1 >2 > 3 > 4

        ​ 完全路径匹配> 目录匹配 > 扩展名匹配 > 缺省路径(tomcat里面的)

        有如下的配置:
        <servlet>
          <servlet-name>ServletDemo</servlet-name>
          <servlet-class>com.cd.a_servlet.ServletDemo</servlet-class>
        </servlet>
        <servlet-mapping>
          <servlet-name>ServletDemo</servlet-name>
          <url-pattern>/ServletDemo</url-pattern>
        </servlet-mapping>
        
        <servlet>
          <servlet-name>ServletDemo1</servlet-name>
          <servlet-class>com.cd.a_servlet.ServletDemo1</servlet-class>
        </servlet>
        <servlet-mapping>
          <servlet-name>ServletDemo1</servlet-name>
          <url-pattern>/*</url-pattern>
        </servlet-mapping>
        
        <servlet>
          <servlet-name>ServletDemo2</servlet-name>
          <servlet-class>com.cd.a_servlet.ServletDemo2</servlet-class>
        </servlet>
        <servlet-mapping>
          <servlet-name>ServletDemo2</servlet-name>
          <url-pattern>*.do</url-pattern>
        </servlet-mapping>
        
        

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月30日
  • 创建了问题 3月26日