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» и создал новый в том же месте.
И это наконец-то работает!! Возможно, это сработает и в вашем случае... так что попробуйте.