.RequestDispatcher.forward()
Cela fonctionne côté serveur. Lors de l'utilisation de forward(), le moteur de servlet transmet la requête HTTP du servlet ou du JSP actuel vers un autre servlet, JSP ou fichier HTML ordinaire, c'est-à-dire que votre formulaire est soumis à un fichier .jsp, dans un fichier. . jsp utilise forward() pour rediriger vers b.jsp. À ce stade, toutes les informations soumises par le formulaire peuvent être obtenues dans b.jsp et les paramètres sont automatiquement transmis.
Cependant, forward() ne peut pas rediriger vers un fichier jsp avec un frame. En même temps, forward() ne peut pas être transmis avec des paramètres à la fin, tels que servlet?name=frank. . Si cela ne fonctionne pas, vous pouvez passer la réponse dans le programme .setAttribute("name",name) pour passer à la page suivante.
L'URL dans la barre d'adresse du navigateur reste inchangée après la redirection.
Exemple : redirection dans le fichier servlet
CODE
public void doPost (demande HttpServletRequest, réponse HttpServletResponse)
lance ServletException,IOException
{
réponse.setContentType("text/html; charset=gb2312");
ServletContext sc = getServletContext();
RequestDispatcher rd = null ;
rd = sc.getRequestDispatcher("/index.jsp");
rd.forward (demande, réponse);
2.response.sendRedirect()
Cela fonctionne sur le navigateur de l'utilisateur. sendRedirect() peut transmettre des paramètres, tels que servlet?name=frank à la page suivante. En même temps, il peut rediriger vers un autre hôte et un doublon apparaîtra dans la barre d'adresse du navigateur. L'URL de la page dirigée.
sendRedirect() peut rediriger les fichiers jsp avec des frames.
Exemple : redirection dans le fichier servlet
CODE
public void doPost (demande HttpServletRequest, réponse HttpServletResponse)
lance ServletException,IOException
{
réponse.setContentType("text/html; charset=gb2312");
réponse.sendRedirect("/index.jsp");
}