не обрабатывает сервлет

267
04 ноября 2021, 02:30

Пишу свой первый сервлет в Java EE,использую tomcat, почему-то не обрабатывается мой класс, а выдает всегда

вот код

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
//@WebServlet("/hallo")
public class HalloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter printWriter = resp.getWriter();
        printWriter.write("Hallo World");
    }
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
<servlet>
    <servlet-name>HalloServlet</servlet-name>
    <servlet-class>HalloServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>HalloServlet</servlet-name>
    <url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>

меня смущает что в строке поиска пишется http://localhost:8080/ee_war_exploded/ разве не должно быть http://localhost:8080/hallo ?

Answer 1

Tomcat добавляет контекст приложения к url'у для твоих сервлетов. Это сделано для того, чтобы множество приложений (war'ников) могли без конфликтов существовать на одном сервере приложений (Tomcat). Этот контекст по умолчанию является именем твоего приложения. Т.е именем папки которая лежит в $CATALINA_BASE/webapps. В данном случае это ee_war_exploded. Соответственно твой сервис будет доступен по адресу http://localhost:8080/ee_war_exploded/hello

READ ALSO
Не обновляется(подключается) css в Spring MVC

Не обновляется(подключается) css в Spring MVC

Испробовал много вариантов с изменением путей в addResourceHandler(через classpath:/ прописывал, перемещал папку templates в webapp/WEB_INF/

125
Нужна ли скобка?

Нужна ли скобка?

Нужна в блоке try, после FileInputStream f2 = new FileInputStream(field2getText())) открывающая скобка? В книге Герберта Шилдта скобки нет, но без скобки компилятор ругается...

82
JavaFX сделать доступным инстанс MainXMLController в других котроллерах?

JavaFX сделать доступным инстанс MainXMLController в других котроллерах?

Есть три контроллера CategoryListController, DrawerContentController, PopupContentController; И есть еще главный контроллер MainXMLController каждый контроллер использует свой fxml файл...

76
Изображения не отображаются в recyclerview из FireBase storage [закрыт]

Изображения не отображаются в recyclerview из FireBase storage [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

84