La servlet Java dispose de plusieurs méthodes de saut de page. Les amis qui en ont besoin peuvent se référer à
Servlet :
Bien sûr, dans la servlet, les sauts généraux se produisent dans doGet, doPost et d'autres méthodes. dans.
1) Méthode de redirection
response.sendRedirect("/a.jsp");
Le chemin de la page est un chemin relatif. sendRedirect peut accéder à n'importe quelle page, sans nécessairement se limiter à cette application Web, telle que :
response.sendRedirect("http://www.jb51.net");
L'adresse du navigateur la barre change après le saut.
Si vous souhaitez transmettre la valeur de cette manière, vous pouvez uniquement apporter le paramètre dans l'URL ou le mettre dans la session. Vous ne pouvez pas utiliser request.setAttribute pour le transmettre.
2) méthode de transfert
RequestDispatcher dispatcher = request.getRequestDispatcher("/a.jsp");
dispatcher .forward(request, réponse);
Le chemin de la page est un chemin relatif. La méthode forward ne peut accéder qu'aux pages de cette application Web.
La barre d'adresse du navigateur ne changera pas après le saut.
Utilisez cette méthode pour sauter. Il existe trois méthodes pour transmettre des valeurs : paramètre, session, request.setAttribute dans l'url
JSP :
1) réponse.sendRedirect ( );
est identique à la réponse.sendRedirect() de la servlet.
Out.flush() n'est pas autorisé avant cette instruction. S'il y en a, une exception se produira :
java.lang.IllegalStateException : impossible de sendRedirect() une fois les données validées. le client .
at com.caucho.server.connection.AbstractHttpResponse.sendRedirect(AbstractHttpResponse.java:558)
...
La barre d'adresse du navigateur change après le jump
Si vous souhaitez passer à un autre hôte, après le saut, les instructions qui suivent cette instruction continueront à s'exécuter, comme si un nouveau thread était ouvert, mais l'opération de réponse n'a aucun sens
;Si vous souhaitez accéder au même hôte. L'instruction qui suit cette instruction ne sautera pas tant que l'exécution n'est pas terminée
2) réponse.setHeader("Location","");
Cette instruction n'est pas autorisée avant qu'il n'y ait out.flush(). S'il y en a, la page ne sautera pas.
La barre d'adresse du navigateur change après le saut
Le saut n'aura lieu que lorsque l'instruction suivant cette instruction sera exécutée
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!