request這個對象不用事先聲明,就可以在JSP網頁中使用,在編譯為Servlet之後,它會轉換為javax.servlet..HttpServletRequest形態的對象,HttpServletRequest對象是有關於客戶端所發出的請求的對象,只要是有關於客戶端請求的信息,都可以借由它來取得,例如請求標頭、請求方法、請求參數、客戶端IP,客戶端瀏覽器等等信息。
基本介紹 外文名 :Request 使用協定 :HTTP/1.1 請求方法 :GET 使用者主機IP :127.0.0.1 主要方法,舉例示範,ASP對象,Request 對象,參數,方法,比較,屬性, 主要方法 getParameterNames():取得客戶端所發出的請求參數名稱. getParameter():可以讓您指定請求參數名稱,以取得對應的設定值. getServerName():請求的伺服器. getProtocol():使用協定. getMethod():請求方法. getServerPort():請求連線埠號. getContextPath():Context路徑. getServletPath(): Servlet路徑. getRequestURI():URI路徑. getQueryString():查詢字元串. getRemoteAddr():使用者主機IP. getRemotePort():使用者使用連線埠號. 舉例示範 :localhost:8080/myjsp/requestdemo.jsp?name=john&nick=john 對應的信息為: 請求的伺服器: localhost 使用協定: HTTP/1.1 請求方法: GET 請求的連線埠號: 8080 Context路徑: /myjsp Servlet路徑: /requestdemo.jsp URI路徑: /myjsp/requestdemo.jsp 查詢字元串: name=john&nick=john 使用者主機IP: 127.0.0.1 使用者使用連線埠號: 1060 ASP對象 Request 對象 可以使用 Request 對象訪問任何基於 HTTP 請求傳遞的所有信息,包括從 HTML 表格用 POST 方法或 GET 方法傳遞的參數、cookie 和用戶認證。Request 對象使您能夠訪問客戶端傳送給伺服器的二進制數據。 Request 的語法 : Request[. 集合 | 屬性 | 方法 ]( 變數 ) 在這裏作者將挑選壹些常用的對象語法進行分析 1、Form Form 集合通過使用 POST 方法的表格檢索郵送到 HTTP 請求正文中的表格元素的值。 語法 Request.Form(element)[(index)|.Count] 參數 element 指定集合要檢索的表格元素的名稱。 index 可選參數,使用該參數可以訪問某參數中多個值中的壹個。它可以是 1 到 Request.Form(parameter).Count 之間的任意整數。 Count 集合中元素的個數 Form 集合按請求正文中參數的名稱來索引。Request.Form(element) 的值是請求正文中所有 element 值的數組。通過調用 Request.Form(element).Count 來確定參數中值的個數。如果參數未關聯多個值,則計數為 1。如果找不到參數,計數為 0。要引用有多個值的表格元素中的單個值,必須指定 index 值。index 參數可以是從 1 到 Request.Form(element).Count 中的任意數字。如果引用多個表格參數中的壹個,而未指定 index 值,返回的數據將是以逗號分隔的字元串。 可以使用重述符來顯示表格請求中的所有數據值。例如,用戶通過指定幾個值填寫表格,見下圖。 對於 hobby 參數,您可以使用下面的腳本檢索這些值。 < > < head>< title>< /title>< /head>< body> < p> 請填寫妳的愛好 < /p> < form method="POST" action="form.asp"> < p>< input type=text name=hobby size="20">< br> < input type=checkbox name=hobby value=" 足球 "> 足球 < input type=checkboxname="hobby" value=" 桌球 "> 桌球 < /p> < p>< input type=submit value=" 傳送 " name=B1>< input type=reset value=" 重填 "name="B2">< /p> < /form> < %For Each i In Request.Form("hobby")Response.Write i & "< BR>"Next%> < /body>< /> 將以上代碼剪貼到記事簿中(註意將“< ”後面的空格去掉),保存為 form.asp 檔案並運行,request 對象可以根據妳在 form 中填入或選擇元素內容的不同將元素逐個顯示出來。 當然使用 For...Next 循環也可以生成同樣的輸出,如下所示 : < % For i = 1 To Request.Form("hobby").Count< Response.Write Request.Form("hobby")(i) & "< BR>"Next< %> 方法 ASP中,Request 對象獲取數據的3種方法: 1.Request.Form:獲取以POST方式提交的數據(接收Form提交來的數據); 2.Request.QueryString:獲取地址欄參數(以及以GET方式提交的數據) 3.Request:包含以上兩種方式(優先獲取GET方式提交的數據),它會在QueryString、Form、ServerVariable中都搜尋壹遍。 而且有時候也會得到不同的結果。如果妳僅僅是需要Form中的壹個數據,但是妳使用了Request而不是Request.Form,那麽程式將在QueryString、ServerVariable中也搜尋壹遍。如果正好妳的QueryString或者ServerVariable裏面也有同名的項,妳得到的就不是妳原本想要的值了。 比較 asp中,request.form與request.querystring的比較 1、對於post傳值的方法,采用request.form接受,他的參數值不會在url中用明文方式顯示,且長度不受限制,安全性相對較高; 2、get方法遞交的表單或通過url傳值采用request.querystring進行獲值的方法,(1)參數值明碼顯示(2)長度受限;優點:(1)方便可以直接定義壹個url就可以傳值;作用:常用與資料庫中的文章id傳值,進行資料庫的查詢; 屬性 request.params是壹個集合,它依次包括request.querystring、request.form、request.cookies和request.servervariables。 如果要在兩個頁面傳遞數據的話,只能用request.querystring、request.form、request.cookies Request.Params 會在 QueryString、Form、Server Variable 以及 Cookies 找數據, 他首先在 QueryString 集合查找數據,如果在 QueryString 找到數據,就返回數據,如果沒有找到就去 Form 集合中查找數據,找到就返回,否則在往下壹下個集合查找數據。 Request.Params["id"] Request.Form["id"] Request.QueryString["id"] Request.QueryString["id"] Request.Params是所有post和get傳過來的值的集合,Request.Form是取post傳值, Request.QueryString是get傳過來的值