Servlets - Seitenumleitung

Die Seitenumleitung ist eine Technik, bei der der Client an einen anderen als den angeforderten Speicherort gesendet wird. Die Seitenumleitung wird im Allgemeinen verwendet, wenn ein Dokument an einen neuen Speicherort verschoben wird oder möglicherweise auf einen Lastenausgleich zurückzuführen ist.

Die einfachste Möglichkeit, eine Anforderung auf eine andere Seite umzuleiten, ist die Verwendung der Methode sendRedirect()des Antwortobjekts. Es folgt die Signatur dieser Methode -

public void HttpServletResponse.sendRedirect(String location) 
throws IOException

Diese Methode sendet die Antwort zusammen mit dem Statuscode und dem neuen Seitenort an den Browser zurück. Sie können auch die Methoden setStatus () und setHeader () zusammen verwenden, um dasselbe zu erreichen -

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

Beispiel

Dieses Beispiel zeigt, wie ein Servlet eine Seitenumleitung an einen anderen Speicherort durchführt.

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);    
   }
}

Lassen Sie uns nun das obige Servlet kompilieren und die folgenden Einträge in web.xml erstellen

....
<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>
....

Rufen Sie dieses Servlet nun unter der URL http: // localhost: 8080 / PageRedirect auf. Dies würde Sie zur URL http://www.photofuntoos.com weiterleiten.