Redirect Page trong Servlet



Nói chung, Redirect page được sử dụng khi một tài liệu di chuyển tới một địa chỉ mới và chúng ta cần gửi Client tới vị trí mới này hoặc có thể vì cân bằng tải (load balancing) hoặc là do ngẫu nhiên.

Cách đơn giản nhất để Redirect một yêu cầu tới page khác là sử dụng phương thức sendRedirect() của đối tượng response. Sau đây là cú pháp của phương thức:

public void HttpServletResponse.sendRedirect(String location)
throws IOException 

Phương thức này gửi phản hồi trở lại trình duyệt cùng với status code và vị trí trang mới. Bạn cũng có thể sử dụng setStatus() và setHeader() cùng nhau để nhận được kết quả tương tự:

....
String site = "http://www.newpage.com" ;
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site); 
....
Quảng cáo

Ví dụ

Ví dụ sau minh họa cách một Servlet thực hiện redirect page tới vị trí khác.

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

Biên dịch Servlet trên và tạo các entry sau trong 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>
....

Bây giờ, khi chúng ta gọi Servlet này bởi sử dụng URL là http://localhost:8080/PageRedirect. Nó sẽ đưa bạn tới URL đã cho là http://www.photofuntoos.com.

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài học SEO phổ biến khác tại VietJack: