JSP в /WEB-INF возвращает "HTTP-статус 404 Запрошенный ресурс недоступен"

Я создал файл JSP.

sample.jsp

<%@ page pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
  <head>
    <title>Insert title here</title>
  </head>
  <body>
    This is jsp program
  </body>
</html>

Я поместил это здесь в samplejsp проект.

samplejsp
 `-- WebContent
      `-- WEB-INF
           `-- sample.jsp

Я открыл его по следующему URL.

http://localhost:8080/samplejsp/sample.jsp

Но это показывает следующую ошибку в браузере.

404 ОШИБКА

Запрашиваемый ресурс (/sample.jsp) недоступен.

4 ответа

404 просто означает "Не найдено".

Либо URL неверный (примечание: чувствителен к регистру!), Либо ресурс не там, где вы думаете.

Просто проверьте URL и / или убедитесь, что ресурс находится там, где вы ожидаете. Вы разместили sample.jsp в /WEB-INF папка. Таким образом, он недоступен для общего доступа без вызова через сервлет фронт-контроллера.

Поместите это снаружи /WEB-INF,

samplejsp
 `-- WebContent
      |-- WEB-INF
      `-- sample.jsp

Если вы хотите сохранить его в /WEB-INF, то вам нужно создать сервлет фронт-контроллера, который перенаправляет его в doGet() метод, как показано ниже.

request.getRequestDispatcher("/WEB-INF/sample.jsp").forward(request, response);

Наконец, "откройте" JSP, просто вызвав реальный URL-адрес сервлета вместо фиктивного URL-адреса JSP.

Смотрите также:

В основном это связано с вашей структурой каталогов или упаковкой.
Можете ли вы добавить свою структуру каталогов?

Аналогично ниже -

src 
|-html\
|-jsp\

Возможно, это должно сделать это

<form action="sample.jsp" method=get>
      <input type =submit value="submit">
</form>

Изменить - WEB-INF не разрешает прямой доступ к JSP.

В моем весеннем загрузочном веб-приложении с JSP оно не работало, пока я не добавил эту зависимость

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>

даже после настройки распознавателя вида

spring.mvc.view.prefix: /WEB-INF/views/ 
spring.mvc.view.suffix: .jsp

Если вы обнаружите, почему это сработало, пожалуйста, прокомментируйте.

У меня возникла эта ошибка: файл JSP [/WEB-INF/viewshello.jsp] не найден.

Я создал файл Jsp hello в папке просмотра внутри папки WEB-INF, и он не может найти ресурс.

Затем я удалил предыдущий файл «hello.jsp» и создал новый в том же месте.

И это наконец-то работает!! Возможно, это сработает и в вашем случае... так что попробуйте.

Другие вопросы по тегам