11/08/2018, 18:53

Page redirect trong Servlet

Session tracking trong Servlet Chuyển hướng trang (page redirect) là một kỹ thuật mà client được chuyển đến một trang mới ngoài trang được request. Chuyển hướng trang thường được sử dụng khi tài liệu chuyển đến vị trí mới hoặc có thể là do cân bằng tải(load balancing). Cách ...

Session tracking trong Servlet

Chuyển hướng trang (page redirect) là một kỹ thuật mà client được chuyển đến một trang mới ngoài trang được request. Chuyển hướng trang thường được sử dụng khi tài liệu chuyển đến vị trí mới hoặc có thể là do cân bằng tải(load balancing).

Cách đơn giản nhất để thực hiện page redirect trong servlet là sử dụng phương thức sendRedirect() của đối tượng response. Khai báo của phương thức này như sau:

public void HttpServletResponse.sendRedirect(String location)
throws IOException

Phương thức này gửi lại phản hồi cho trình duyệt cùng với mã trạng thái và vị trí trang mới. Bạn cũng có thể sử dụng setStatus() và setHeader() các phương pháp với nhau để chuyển hướng trang.

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

Ví dụ page redirect trong servlet

Ví dụ này cho thấy một servlet thực hiện chuyển hướng trang đến vị trí khác như thế nào:

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

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.viettuts.vn/servlet");

        response.setStatus(response.SC_MOVED_TEMPORARILY);
        response.setHeader("Location", site);
    }
}

Cấu hình trong file 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>

Khi gọi servlet “PageRedirect” bạn sẽ được chuyển đến trang http://www.viettuts.vn/servlet.

Session tracking trong Servlet
0