Sunucular - Sayfayı Yeniden Yönlendirme

Sayfa yeniden yönlendirme, istemcinin talep edilenden farklı yeni bir konuma gönderildiği bir tekniktir. Sayfa yeniden yönlendirme genellikle bir belge yeni bir konuma taşındığında veya yük dengeleme nedeniyle olabilir.

Bir isteği başka bir sayfaya yönlendirmenin en basit yolu yöntemi kullanmaktır sendRedirect()yanıt nesnesinin. Bu yöntemin imzası aşağıdadır -

public void HttpServletResponse.sendRedirect(String location) 
throws IOException

Bu yöntem, yanıtı durum kodu ve yeni sayfa konumu ile birlikte tarayıcıya geri gönderir. Aynısını elde etmek için setStatus () ve setHeader () yöntemlerini birlikte de kullanabilirsiniz -

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

Misal

Bu örnek, bir sunucu uygulamasının başka bir konuma sayfa yeniden yönlendirmesini nasıl gerçekleştirdiğini gösterir -

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

Şimdi yukarıdaki servlet'i derleyelim ve web.xml'de aşağıdaki girdileri oluşturalım.

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

Şimdi bu sunucu uygulamasını http: // localhost: 8080 / PageRedirect URL'sini kullanarak çağırın. Bu sizi http://www.photofuntoos.com URL'sine yönlendirecektir.