Serwlety - przekierowanie strony

Przekierowanie strony to technika, w której klient jest wysyłany do nowej lokalizacji innej niż żądana. Przekierowanie strony jest zwykle używane, gdy dokument jest przenoszony do nowej lokalizacji lub może być spowodowane równoważeniem obciążenia.

Najprostszym sposobem przekierowania żądania na inną stronę jest metoda sendRedirect()obiektu odpowiedzi. Poniżej znajduje się podpis tej metody -

public void HttpServletResponse.sendRedirect(String location) 
throws IOException

Ta metoda odsyła odpowiedź do przeglądarki wraz z kodem stanu i nową lokalizacją strony. Możesz także użyć razem metod setStatus () i setHeader (), aby osiągnąć to samo -

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

Przykład

Ten przykład pokazuje, jak serwlet wykonuje przekierowanie strony do innej lokalizacji -

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

Teraz skompilujmy powyżej serwlet i utwórzmy następujące wpisy w 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>
....

Teraz wywołaj ten serwlet, używając adresu URL http: // localhost: 8080 / PageRedirect. Spowoduje to przekierowanie do adresu URL http://www.photofuntoos.com.