Od jakiegoś czasu uczę się Java. Postanowiłem zacząć ćwiczyć proste aplikacje webowe. Mam zinstalowany Tomcat 9.0.14, W Inteliji utworzyłem nowy projekt->Java Enterprise->Web application. Kod poniżej. Wydaje się że serwer Tomcat startuje poprawnie, tylko po wpisaniu adresu http://localhost:8080/HelloWorldServlet/HelloWorld mam bład
HTTP Status 404 – Not Found
Type Status Report
Message /HelloWorldServlet/HelloWorld
Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
Apache Tomcat/9.0.14
Przejrzełam kilknaście poradników i turtoriali ale we wszyskich jest to samo. Gdzie popełniam błąd. Czy pliki muszę wgrać do katalogu z Tomcat? Tak robiłem i nic nie pomogło.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
HelloWorldServlet.java
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class HelloWorldServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>My Servlet</title></head><body>");
out.println("Hello World!");
out.println("<body></html>");
out.close();
}
}