L'URL ci-dessous, le premier contenu de la réponse choisie, décrit le masquage JSP.Masquer la page JSP à partir d'un accès direct, mais comment accéder à la page cible?
Hidden features of JSP/Servlet
Je comprends si loin que je peux mettre des fichiers jsp sous/WEB-INF. Afin qu'il empêche un utilisateur d'un accès direct comme http://test.com/WEB-INF/register.jsp
(retour 404)
Je pensais comprendre mais pas et veut mieux décrire donc j'ouvre la question ici.
J'ai, disons, 2 fichiers jsp comme ci-dessous.
webapps/ROOT/home.jsp
webapps/ROOT/WEB-INF/register.jsp
REMARQUE: /go_register
est mis en correspondance avec la classe servlet Register
dans web.xml (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>
So .. depuis register.jsp réside dans/WEB-INF /, seul RequestDispatcher peut accéder. Cela signifie que j'ai besoin de créer une servlet pour transmettre la requête.
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);
}
}
Mais cela ne semble pas correct. Si je veux ajouter la page de connexion /WEB-INF/login.jsp à home.jsp, afin d'accéder au login.jsp, je dois créer une autre servlet juste pour aller à la page de connexion? ??
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);
}
}
Je pense que j'utilise la technique de la mauvaise façon. Quelqu'un pourrait-il expliquer comment utiliser ce jsp se cachant?
Modèle de contrôleur frontal semble être la voie à suivre pour mes besoins. J'ai pensé centraliser le point d'entrée mais je n'ai jamais pensé à de tels modèles, merci pour le lien! –