Столкновение URL сервлета и ресурса в API сервлета - PullRequest
0 голосов
/ 04 октября 2019

У меня есть сервлет

@WebServlet(name = "ToDoServlet", urlPatterns = "/*")
public class ToDoServlet extends HttpServlet {

    private static final Logger logger = LoggerFactory.getLogger(ToDoServlet.class);

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        logger.info("PathInfo: {}", req.getPathInfo());

        getServletContext().getRequestDispatcher("/WEB-INF/templates/index.jsp")
                           .forward(req, resp);
    }
}

В web.xml У меня есть только определение страницы ошибки.

Если я перехожу по URL-адресу http://localhost:8080/webappname/ В браузере появляется ошибка 404, и этов журнале сервера:

17:05:58,540 INFO  [ru.geekbrains.controller.ToDoServlet] (default task-1) PathInfo: /
17:05:58,543 INFO  [ru.geekbrains.controller.ToDoServlet] (default task-1) PathInfo: /WEB-INF/templates/index.jsp
17:05:58,545 INFO  [ru.geekbrains.controller.ToDoServlet] (default task-1) PathInfo: /WEB-INF/error.jsp

Но если я изменю отображение сервлета на \something\*, это будет работать.

Это похоже на конфликт путей между файлами в файле war и зарегистрированными сервлетами.

Это правда? Как это решить?

PS Я развертываю приложение на Wildfly 17.0.1.Final

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...