1. 程式人生 > 程式設計 >JavaWeb response完成重定向實現過程詳解

JavaWeb response完成重定向實現過程詳解

這篇文章主要介紹了JavaWeb response完成重定向實現過程詳解,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一.重定向的理解

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

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

二.重定向的注意事項

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

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

三.流程圖示例

JavaWeb response完成重定向實現過程詳解

四.程式碼示例:

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,IOException {
    System.out.println("CServlet");
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。