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ả
Trang 1Redirect 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ứcsendRedirect() 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);
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>
Trang 2http://localhost:8080/PageRedirect Nó sẽ đưa bạn tới URL đã cho là http://www.photofuntoos.com