La siguiente URL, el primer contenido en la respuesta elegida describe la ocultación de JSP.Ocultar la página JSP del acceso directo, pero ¿cómo se accede a la página objetivo?
Hidden features of JSP/Servlet
que hasta ahora entiendo que puedo poner archivos JSP en el directorio/WEB-INF. De modo que evita que un usuario tenga acceso directo, como http://test.com/WEB-INF/register.jsp
(return 404)
Pensé que entendía pero no y quiero describir mejor, así que estoy abriendo la pregunta aquí.
Tengo, digamos, 2 archivos jsp como a continuación.
webapps/ROOT/home.jsp
webapps/ROOT/WEB-INF/register.jsp
NOTA: /go_register
se asigna a la clase servlet en web.xml Register
(DD)
home.jsp
<html>
<body>
<a href="/go_register">Go to register.jsp</a>
<body>
</html>
register.jsp
<html>
<body>
<form method="post" action="/process_register">
<input type="submit">
</form>
<body>
</html>
Así que .. ya register.jsp reside en/WEB-INF /, solamente RequestDispatcher puede acceder a ella. Eso significa que necesito crear servlet para reenviar la solicitud.
public class Register extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String address = "/WEB-INF/register.jsp";
request.getRequestDispatcher(address).forward(request, response);
}
}
Pero esto no se ve bien. Si deseo agregar la página de inicio de sesión /WEB-INF/login.jsp a home.jsp, para acceder al login.jsp, tengo que crear otro servlet solo para ir a la página de inicio de sesión propósito? ??
public class Login extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String address = "/WEB-INF/login.jsp";
request.getRequestDispatcher(address).forward(request, response);
}
}
Creo que estoy usando la técnica de la manera incorrecta. ¿Alguien podría explicar cómo usar este escondite jsp?
Patrón de controlador frontal parece ser el camino a seguir para mis necesidades. Pensé en centralizar el punto de entrada, pero nunca pensé en tales patrones, ¡gracias por el enlace! –