Сервлет maven HTTP-статус 404 -
Не могу запустить Maven сервлет все, что я делаю. Если я перезапущу сервер, я получу следующую ошибку:
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>");
}
}
развертывание сборки:
2 ответа
Решение
Ваше приложение имеет структурную ошибку.
Исходный файл Cezar.java должен быть в src/main/java
вместо src/main/resources
,
Поэтому файл не компилируется в Cezar.class
файл, который будет добавлен в ваше веб-приложение WEB-INF/classes
каталог.
Да, он верен, и лучше сохранить структуру пакета и дать полное имя в web.xml в примере: имя класса вашего сервлета name.your.