Приветственный файл может быть только статический файл, так что, например, JSP или HTML-файла, он не может указать сервлет.
Если вы хотите, чтобы сервлет выступал в качестве приветственной страницы, вы должны установить его отображение в/*, что делает его сервлетом по умолчанию. Таким образом, в аннотации:
@WebServlet (urlPatterns = «/ *»)
Таким образом, сервлет будет вызываться всякий раз, когда поступает запрос, который не отображает какие-либо другие ресурсы.
Также вам необходимо исправить ваш прямой запрос, чтобы указать URL-адрес относительно корня содержимого приложения, как показано в другом ответе.
Для справки это то, как работает отображение в соответствии со спецификацией (этот текст взят из раздела 12.1 спецификации Servlet 3.0):
Контейнер пытается найти точное совпадение пути запрос на путь сервлета. Успешное совпадение выбирает сервлет.
Контейнер рекурсивно попытается сопоставить самый длинный префикс пути. Это делается путем постепенного изменения дерева путей по каталогу за раз, используя символ «/» в качестве разделителя путей. Наибольшее совпадение определяет выбранный сервлет.
Если последний сегмент в URL-адресе содержит расширение (например, .jsp), контейнер сервлетов попытается сопоставить сервлет, обрабатывающий запросы для расширения. Расширение определяется как часть последнего сегмента после последнего символа «.».
Если ни одно из предыдущих трех правил не приводит к совпадению сервлета, контейнер будет пытаться обслуживать контент, соответствующий запрашиваемому ресурсу. Если для приложения определен «сервлет по умолчанию», он будет использоваться. Многие контейнеры предоставляют неявный сервлет по умолчанию для обслуживания контента.
В чем ошибка 404? – Perdomoff
Запрошенный ресурс недоступен. –
Вы смогли решить проблему? – Perdomoff