代码之家  ›  专栏  ›  技术社区  ›  user855

基本tomcat servlet错误

  •  0
  • user855  · 技术社区  · 14 年前
    package mypackage;
    
    import java.io.*;
    
    import javax.servlet.http.*;
    import javax.servlet.*;
    
    public class Hello extends HttpServlet {
      public void doGet (HttpServletRequest req,
                         HttpServletResponse res)
        throws ServletException, IOException
      {
        PrintWriter out = res.getWriter();
    
        out.println("Hello, world!");
        out.close();
      }
    }
    

    web.xml文件如下:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
    
        <display-name>Hello, World Application</display-name>
        <description>
        This is a simple web application with a source code organization
        based on the recommendations of the Application Developer's Guide.
        </description>
    
        <servlet>
            <servlet-name>HelloServlet</servlet-name>
            <servlet-class>mypackage.Hello</servlet-class>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>HelloServlet</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
    
    </web-app>
    

    然后我将执行ant all、ant reload和/etc/init.d/tomcat restart

    但我在浏览器上看到这个错误:

    http状态404-/hello/

    类型状态报告

    留言/你好/

    说明请求的资源(/hello/)不可用。 阿帕奇Tomcat/6.0.26

    怎么了?

    1 回复  |  直到 11 年前
        1
  •  0
  •   Alireza Fattahi    11 年前

    我认为目录结构有问题。通常你在目录结构下面做

    webapps
      MyWebApp1
      MyWebApp2
    

    如果您的申请被复制到 MyWebApp1 文件夹,然后调用 localhost/MyWebApp1/hello

    所以目录是

    webapps
      +MyWebApp1
        test.jsp
        WEB-INF
          web.xml
          +classes
            +mypackage
              hello.class
      +MyWebApp2