1. 程式人生 > >域對象 request

域對象 request

esp print int system class end 進行 color 客戶端

一)域對象:

1)request的生命周期:

從請求開始創建,到響應完成結束。

2) 作用:攜帶一次請求內的數據。

3)請求轉發:

請求轉發:

技術分享圖片

1)瀏覽器發送請求到服務器A,然後服務器A將請求轉發到B 然後B處理結果將原路返回。二重定向,直接url發生變化,將客戶端請求的直接轉給另一個服務器。而不是由服務器A進行請求的轉發。

2)服務器B可以獲取瀏覽器的發送過來的所有參數。request可以進行屬性值的設置類似servletcontex。而轉發確不是,在服務器A設置的值 在B上無法獲取。

方法:request.getRequestDispatcher("/req1").forward(request,response);

服務器A:

 1 package jd.com.rsp;
 2 
 3 import javax.servlet.ServletException;
 4 import javax.servlet.annotation.WebServlet;
 5 import javax.servlet.http.HttpServlet;
 6 import javax.servlet.http.HttpServletRequest;
 7 import javax.servlet.http.HttpServletResponse;
 8 import java.io.IOException;
 9 
10
@WebServlet(name = "Servletreq") 11 public class Servletreq extends HttpServlet { 12 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 13 System.out.println("請求轉發給req1"); 14 request.setAttribute("pwd","123"); 15
request.getRequestDispatcher("/req1").forward(request,response); 16 17 } 18 19 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 20 doPost(request,response); 21 } 22 }

服務器B:

 1 package jd.com.rsp;
 2 
 3 import javax.servlet.ServletException;
 4 import javax.servlet.annotation.WebServlet;
 5 import javax.servlet.http.HttpServlet;
 6 import javax.servlet.http.HttpServletRequest;
 7 import javax.servlet.http.HttpServletResponse;
 8 import java.io.IOException;
 9 
10 @WebServlet(name = "Servletreq1")
11 public class Servletreq1 extends HttpServlet {
12     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
13 
14     }
15 
16     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
17         System.out.println("請求轉發到req1了。");
18         String user=request.getParameter("user");
19         Object pwd=request.getAttribute("pwd");
20         System.out.println("獲取參數"+user);
21         System.out.println("獲取req設置的值"+pwd);
22     }
23 }

域對象 request