maven servlet HTTP状态404 -

时间:2015-07-20 18:23:33

标签: java jsp maven java-ee servlets

无论我做什么,都可以运行maven servlet。如果我重启服务器,生病了下一个错误:

     HTTP Status 500 - Error instantiating servlet ---

如果我在没有重新启动服务器的情况下重新启动页面 - 生病了

     HTTP Status 404 - 

有maven项目结构。

enter image description here web.xml中:

     <!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

     <web-app>
       <display-name>Archetype Created Web Application</display-name>
       <servlet>
          <servlet-name>Cezar</servlet-name>
          <display-name>Cezar</display-name>
          <description></description>
          <servlet-class>Cezar</servlet-class>
       </servlet>
       <servlet-mapping>
          <servlet-name>Cezar</servlet-name>
          <url-pattern>/Cezar</url-pattern>
       </servlet-mapping>
     </web-app>

Cezar.java:

      import java.io.IOException;
      import javax.servlet.ServletException;
      import javax.servlet.http.HttpServlet;
      import javax.servlet.http.HttpServletRequest;
      import javax.servlet.http.HttpServletResponse;

      public class Cezar extends HttpServlet {
          public void doGet(HttpServletRequest request, HttpServletResponse                   response)
        throws IOException{
            PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<body>");
            out.println("<h1>Hello Servlet Get</h1>");
            out.println("</body>");
            out.println("</html>"); 
        }
   }

部署程序集:

enter image description here

2 个答案:

答案 0 :(得分:1)

您的应用程序存在结构错误。

源文件Cezar.java应该在src/main/java而不是src/main/resources

因此,该文件未编译到Cezar.class文件中,该文件将添加到您的Web应用程序的WEB-INF/classes目录中。

答案 1 :(得分:0)

是的,他是真的,更好地维护包结构,并在例子中的web.xml中给出完全限定的名称:你的包名。你的servlet类名。