
? ?
Java redirect是什么?讓我們一起來了解一下吧!
Java redirect是第一個頁面通知瀏覽器發送一個新的頁面請求。重定向是一個客戶端行為,用戶請求到達服務器之后,服務器返回響應,HTTP狀態碼置為302,并將轉發的頁面保存在響應頭中的Location屬性中,告訴客戶端應該向這個地址發出請求,然后客戶端再次發出請求。

那么我們如何區分選擇重定向還是轉發呢?通常情況下轉發更快,而且能保持request內的對象,所以他是第一選擇。但是由于在轉發之后,瀏覽器中URL仍然指向開始頁面,此時如果重載當前頁面,開始頁面將會被重新調用。如果你不想看到這樣的情況,則選擇轉發。
實戰操作,具體步驟如下:
package?com.sn.servlet;
import?java.io.IOException;
import?javax.servlet.ServletException;
import?javax.servlet.annotation.WebServlet;
import?javax.servlet.http.HttpServlet;
import?javax.servlet.http.HttpServletRequest;
import?javax.servlet.http.HttpServletResponse;
/**
?*?Servlet?implementation?class?ServletB
?*/
@WebServlet("/ServletB")
public?class?ServletB?extends?HttpServlet?{
????public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)?throws?ServletException,?IOException?{
????????System.out.println("Bservlet");
????????/**
?????????*?重定向:
?????????*?1.設置Location
?????????*?2.發送302狀態碼
?????????*?重定向是兩次請求,瀏覽器地址欄發生變化
?????????*/
????????response.setStatus(302);??//重定向
????????//這兩個方法實現的過程都是一樣的
????????//response.setHeader("Location",?"http://www.baidu.com");
????????response.sendRedirect("http://www.baidu.com");??//重定向要百度
????}
}以上就是小編今天的分享了,希望可以幫助到大家。
