Servlets - Redirection de page

La redirection de page est une technique dans laquelle le client est envoyé vers un nouvel emplacement autre que celui demandé. La redirection de page est généralement utilisée lorsqu'un document est déplacé vers un nouvel emplacement ou peut être due à l'équilibrage de charge.

Le moyen le plus simple de rediriger une requête vers une autre page consiste à utiliser la méthode sendRedirect()de l'objet de réponse. Voici la signature de cette méthode -

public void HttpServletResponse.sendRedirect(String location) 
throws IOException

Cette méthode renvoie la réponse au navigateur avec le code d'état et le nouvel emplacement de la page. Vous pouvez également utiliser les méthodes setStatus () et setHeader () ensemble pour obtenir le même résultat -

.... 
String site = "http://www.newpage.com" ; 
response.setStatus(response.SC_MOVED_TEMPORARILY); 
response.setHeader("Location", site);  
....

Exemple

Cet exemple montre comment un servlet effectue la redirection de page vers un autre emplacement -

import java.io.*;
import java.sql.Date;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class PageRedirect extends HttpServlet {
    
   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

      // Set response content type
      response.setContentType("text/html");

      // New location to be redirected
      String site = new String("http://www.photofuntoos.com");

      response.setStatus(response.SC_MOVED_TEMPORARILY);
      response.setHeader("Location", site);    
   }
}

Maintenant, compilons le servlet ci-dessus et créons les entrées suivantes dans web.xml

....
<servlet>
   <servlet-name>PageRedirect</servlet-name>
   <servlet-class>PageRedirect</servlet-class>
</servlet>

<servlet-mapping>
   <servlet-name>PageRedirect</servlet-name>
   <url-pattern>/PageRedirect</url-pattern>
</servlet-mapping>
....

Appelez maintenant ce servlet en utilisant l'URL http: // localhost: 8080 / PageRedirect. Cela vous redirige vers l'URL http://www.photofuntoos.com.