¿Cómo especificar la ruta al archivo .JSP para request.getRequestDispatcher ()?

Estoy confundido sobre el significado de request.getContextPath (). El diseño de mi archivo es el siguiente:

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

En elMyPage.jsp Puedo localizar el JavaScript y la imagen de

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

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

De esto llegué a la conclusión de que${pageContext.request.contextPath} resolvió dinámicamente la carpeta "WebContent" y tengo entendido que esto se resolverá en esta carpeta sin importar cómo se llame. Eso está funcionando.

Sin embargo, de todo esto llegué a la conclusión de que en mi código .javarequest.getContextPath() también se resolvería dinámicamente a "WebContent". Pero cuando intento reenviar desde el código .java aMyPage.jsp usando la cadena formada a partir derequest.getContextPath()+"/WEB-INF/JSP/MyPage.jsp", el JSP no se puede encontrar; esto da como resultado un error 404: "El recurso solicitado (/MyServer/WEB-INF/JSP/MyPage.jsp) no está disponible". Si llamo a"/WEB-INF/JSP/MyPage.jsp" lanzamos la página JSP. ¿Alguien puede explicar por qué pre-pendienterequest.getContextPath() hace que esto falle y ¿hay algo más que deba usar para asegurarme de que la ruta al .JSP se resuelva siempre?

Respuestas a la pregunta(2)

Su respuesta a la pregunta