JavaWeb-response完成重定向


一.重定向的理解

  >客戶端發送請求給服務器,服務器返回302並帶一個地址給瀏覽器,讓瀏覽器去請求這個地址,這個過程就是重定向

    比如:有3個人分別為A,B,C;A去請求B幫忙做一件事,B無能為力,B把C的地址給A,讓A去請求C做這件事。說簡單點就是:找別人幫忙

 

二.重定向的注意事項

  >服務器返回302給瀏覽器時,還會帶一個地址,這個地址以響應頭的形式發送,而且頭的名稱必須為Location

  >重定向的過程中,瀏覽器發送了兩個請求

 

三.流程圖示例

 

 四.代碼示例:

package cn.xxx.Servlet;

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 BServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //設置location響應頭
        response.setHeader("Location", "/Demo01/CServlet");
        response.setStatus(302);  //發送狀態碼
    }

    

}

 

package cn.xxx.Servlet;

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 CServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("CServlet");
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM