zoukankan      html  css  js  c++  java
  • Servlet中连接tomcat出现404

      Servlet中连接tomcat出现404

    在创建完成后会出现404错误,如下图所示:

       分析其原因:

        1.在配置web.xml的时候,由于是在Eclipse中是自己创建的,所以错放路径,也会导致找不到tomcat服务器,出现404.需要按照下列方式存放表格

        2.有时候也会出现tomcat服务器startup失败,这可能是由于在书写web.xml的时候,映像名称(servlet-name)没写对,导致服务器开不起来,或者url-pattern,servlet-class没有写对路径位置导致,所以下面是写这几个元素需要注意的点:

      <servlet>
        <servlet-name>Pac_info</servlet-name><!-- 要执行的程序的名字 -->
        <servlet-class>test_my_1.Pac_info</servlet-class><!-- 如果在同一个目录下面,需要协商包名+名字 -->
      </servlet>
      <servlet-mapping>
        <servlet-name>Pac_info</servlet-name><!-- 映像名字,这个也是不能错的,必须是执行的程序名字 -->
        <url-pattern>/Pac_info</url-pattern><!-- 映像路径,后面和前面都不限制范围 -->
      </servlet-mapping>

        3.再讲一下url-pattern的匹配规则:

      当servlet容器接收到浏览器发起的一个url请求后,容器会用url减去当前应用的上下文路径,以剩余的字符串作为servlet映射,假如url是http://localhost:8080/appDemo/index.html,其应用上下文是appDemo,容器会将http://localhost:8080/appDemo去掉,用剩下的/index.html部分拿来做servlet的映射匹配,url-pattern映射匹配过程同样也是有优先顺序的

        匹配方式:

      1.精确匹配:<url-pattern>中配置的项必须与url完全精确匹配

    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/user/users.html</url-pattern>
        <url-pattern>/index.html</url-pattern>
        <url-pattern>/user/addUser.action</url-pattern>
    </servlet-mapping>

    当在浏览器中输入如下几种url时,都会被匹配到该servlet
      http://localhost:8080/appDemo/user/users.html
      http://localhost:8080/appDemo/index.html
      http://localhost:8080/appDemo/user/addUser.action

      2.路径匹配:以“/”字符开头,并以“/*”结尾的字符串用于路径匹配

    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/user/*</url-pattern>
    </servlet-mapping>

    路径以/user/开始,后面的路径可以任意。比如下面的url都会被匹配。
      http://localhost:8080/appDemo/user/users.html
      http://localhost:8080/appDemo/user/addUser.action
      http://localhost:8080/appDemo/user/updateUser.actionl

      3.扩展名匹配:以“/”字符开头,并以“/*”结尾的字符串用于路径匹配

    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>*.jsp</url-pattern>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>

    则任何扩展名为jsp或action的url请求都会匹配,比如下面的url都会被匹配
      http://localhost:8080/appDemo/user/users.jsp
      http://localhost:8080/appDemo/toHome.action

      

      4.缺省匹配

    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
  • 相关阅读:
    redis的实现过程
    文件流的操作
    已知json类型根据类型封装集合
    linq小知识总结
    设计模式之策略模式
    jq实现竞拍倒计时
    SqlDependency缓存数据库表小案例
    渗透之路基础 -- 初窥文件解析漏洞
    渗透之路基础 -- 文件上传
    渗透之路进阶 -- SQL注入进阶(盲注和报错注入)
  • 原文地址:https://www.cnblogs.com/instead-everyone/p/13742981.html
Copyright © 2011-2022 走看看