无论我做什么,都可以运行maven servlet。如果我重启服务器,生病了下一个错误:
HTTP Status 500 - Error instantiating servlet ---
如果我在没有重新启动服务器的情况下重新启动页面 - 生病了
HTTP Status 404 -
有maven项目结构。
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>");
}
}
部署程序集:
答案 0 :(得分:1)
您的应用程序存在结构错误。
源文件Cezar.java应该在src/main/java
而不是src/main/resources
。
因此,该文件未编译到Cezar.class
文件中,该文件将添加到您的Web应用程序的WEB-INF/classes
目录中。
答案 1 :(得分:0)
是的,他是真的,更好地维护包结构,并在例子中的web.xml中给出完全限定的名称:你的包名。你的servlet类名。