в настоящее время читает Head First Servlet Jsp. В настоящее время я застрял в создании сервлета. Вероятно, это глупый вопрос, но как правильно настроить шаблон url сервлета? Я использую eclipse mars, и это мой первый раз с jsp/servlets. Я всегда проверяю генерировать веб-XML при создании динамических веб-проектаКак сопоставить сервлет java
Это то, что в web.xml по умолчанию
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>HeadFirst</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
Он работает с помощью этого
http://localhost:8080/HeadFirst/Ch2Servlet
, но когда я добавляю это просто ниже отображаемого имени
<servlet>
<servlet-name>Ch2Servlet</servlet-name>
<servlet-class>com.test.hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Ch2Servlet</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
это дает мне ошибку 404, и это адрес
http://localhost:8080/HeadFirst/servlet/com.test.hello.Ch2Servlet
Вот мой сервлет класс
@WebServlet("/Ch2Servlet")
public class Ch2Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
java.util.Date today = new java.util.Date();
out.println("<h1>Hello World</h1>" + "<br>");
out.println("Date today is " + today + "<br>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
кстати я прочитал это, но до сих пор путаюсь Java Servlet URL Mapping Servlet Mapping using web.xml редактировать добавил мой класс serlvet
Я вижу, вы уже с помощью аннотаций, чтобы изменить URL просто изменить значение '@WebServlet ("/ Ch2Servlet") '. – Titus
Я попытался изменить аннотацию и этот URL теперь работает @WebServlet («/ HelloWorld») HTTP: // локальный: 8080/Headfirst/HelloWorld так что аннотации делает шаблон URL бесполезными или устаревшим – Onedaynerd
необходимо перезагрузить сервер после вы меняете отображение. Да, аннотация заменяет метод web.xml для изменения отображения. – Titus