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>
  • 相关阅读:
    解决maven构建webapp index.jsp报错问题
    Maven入门介绍
    Linux常用命令的解释
    linux怎么查看一个文件夹的大小
    EPEL源-是什么全称
    nginx+php-fpm配置后页面显示空白的解决方法(yum形式的安装)
    配置新服务器 的一些 依赖库 php mysql nginx
    服务器 CentOS上yum安装Nginx服务
    Java File创建新目录和文件
    struts2的文件上传
  • 原文地址:https://www.cnblogs.com/instead-everyone/p/13742981.html
Copyright © 2011-2022 走看看