? ?
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");??//重定向要百度 ????} }
以上就是小編今天的分享了,希望可以幫助到大家。