La redirection de demande signifie qu'après qu'une ressource Web reçoit une demande d'un client, elle informe le client d'accéder à une autre ressource Web. C'est ce qu'on appelle la redirection de demande. Le code d'état 302 et l'en-tête d'emplacement peuvent être utilisés pour implémenter la redirection.
Le scénario d'application le plus courant pour la redirection des demandes est la connexion de l'utilisateur. L'exemple de code suivant redirige vers la page de connexion utilisateur à partir d'une autre page :
Copiez le code comme suit :
paquet com.yyz.response ;
importer java.io.IOException ;
importer javax.servlet.ServletException ;
importer javax.servlet.http.HttpServlet ;
importer javax.servlet.http.HttpServletRequest ;
importer javax.servlet.http.HttpServletResponse ;
la classe publique ResponseDemo étend HttpServlet {
public void doGet (demande HttpServletRequest, réponse HttpServletResponse)
lance ServletException, IOException {
réponse.setHeader("location", "/day06/register.html");
réponse.setStatus(302);
//Les deux phrases de code ci-dessus sont équivalentes au code suivant :
//response.sendRedirect("/day06/register.html");
}
public void doPost (demande HttpServletRequest, réponse HttpServletResponse)
lance ServletException, IOException {
doGet (demande, réponse);
}
}
Il existe deux caractéristiques notables de la redirection des requêtes : 1. Deux requêtes sont envoyées au serveur. 2. La barre d'adresse change. Puisqu’un principe important de l’optimisation du serveur est de réduire le nombre de requêtes envoyées, la redirection des requêtes doit être utilisée avec parcimonie.