Я только начал работать с JSP и столкнулся с одной проблемой.
Насколько я понимаю, к страницам JSP в WEB-INF можно получить доступ через браузер с URL-адресом в localhost:
localhost:8080/MyProject/MyJSP.jsp
Однако, если я создам еще одну подпапку в папке WEB-INF (например, «Моя папка») и попытаюсь получить доступ к той же странице JSP через URL-адрес:
localhost:8080/MyProject/MyFolder/MyJSP.jsp
вместо этого выдает ошибку 404. Обрабатываются ли системы навигации по файлам JSP иначе, чем, скажем, система навигации по файлам HTML?
РЕДАКТИРОВАТЬ: я использую сервлеты для отображения моей страницы JSP как таковой:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.sendRedirect("MyJSP.jsp");
}
EDIT2: я изменил перенаправление на requestDispatcher, как мне посоветовали:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/MyFolder/MyJSP.jsp");
dispatcher.forward(request, response);
}
Если мой @WebServlet имеет значение ("/myjsp")
, может ли кто-нибудь получить доступ к моей странице MyJSP.jsp
, если он введет localhost:8080/MyProject/myjsp
?
WEB-INF
. Доступ к ресурсам внутриWEB-INF
возможен только с помощью кода. - person Andreas   schedule 02.10.2018