Как указать путь к файлу .JSP для request.getRequestDispatcher ()?

Я запутался в значении request.getContextPath (). Мой формат файла выглядит следующим образом:

MyServer/WebContent:
    /Resources/MyImage.jpg
    /Resources/Scripts/MyScript.js
    /WEB-INF/JSP/MyPage.jsp

вMyPage.jsp Я могу найти JavaScript и изображение с помощью

<script src="${pageContext.request.contextPath}/Resources/Scripts/MyScript.js">

а также

<img src="${pageContext.request.contextPath}/Resources/MyImage.img">

Из этого я пришел к выводу, что${pageContext.request.contextPath} динамически разрешается в папку «WebContent», и, насколько я понимаю, это будет разрешаться в этой папке независимо от того, как она называется. Это работает.

Однако из всего этого я пришел к выводу, что в моем коде .javarequest.getContextPath() также будет динамически преобразовываться в «WebContent». Но когда я пытаюсь перейти от кода .java кMyPage.jsp используя строку, образованную изrequest.getContextPath()+"/WEB-INF/JSP/MyPage.jsp"JSP не может быть найден; это приводит к ошибке 404 - «Запрошенный ресурс (/MyServer/WEB-INF/JSP/MyPage.jsp) недоступен». Если я позвоню"/WEB-INF/JSP/MyPage.jsp" мы запускаем страницу JSP. Может ли кто-то объяснить, почему до ожиданияrequest.getContextPath() приводит к сбою и есть ли что-то еще, что я должен использовать, чтобы гарантировать, что путь к .JSP всегда разрешен?

Ответы на вопрос(1)

Ваш ответ на вопрос