使用格式:
resquest.cookies ( cookie 名) ’ 獲得用戶端存儲的信息
request.form( “數(shù)據(jù)項(xiàng)名” ) ‘ 獲得用戶端在表單中所填的信息, post 方法提交
request.querystring( “數(shù)據(jù)項(xiàng)名” ) ‘ 獲得用戶端在表單中所填的信息, get 方法提交
request.servervariables(“ 環(huán)境變量名 ’) ‘提供隨 http 請求一起傳遞的 http 頭信息,包括環(huán)境變量。
相關(guān):response 、request 、session、 application、 serve
request這個對象不用事先宣告,就可以在JSP網(wǎng)頁中使用,在轉(zhuǎn)譯為Servlet之后,它會轉(zhuǎn)換為javax.servlet.http.HttpServletRequest型態(tài)的對象,HttpServletRequest對象是有關(guān)于客戶端所發(fā)出的請求之對象,只要是有關(guān)于客戶端請求的信息,都可以藉由它來取得,例如請求標(biāo)頭、請求方法、請求參數(shù)、使用者IP等等信息。
request的主要方法:
getParameterNames():取得客戶端所發(fā)出的請求參數(shù)名稱.
getParameter():可以讓您指定請求參數(shù)名稱,以取得對應(yīng)的設(shè)定值.
getServerName():請求的服務(wù)器.
getProtocol():使用協(xié)議.
getMethod():請求方法.
getServerPort():請求端口號.
getContextPath():Context路徑.
getServletPath(): Servlet路徑.
getRequestURI():URI路徑.
getQueryString():查詢字符串.
getRemoteAddr():使用者主機(jī)IP.
getRemotePort():使用者使用端口號.
例子:
http://localhost:8080/myjsp/requestdemo.jsp?name=john&nick=johncn
對應(yīng)的信息為:
請求的服務(wù)器: localhost
使用協(xié)議: HTTP/1.1
請求方法: GET
請求的端口號: 8080
Context路徑: /myjsp
Servlet路徑: /requestdemo.jsp
URI路徑: /myjsp/requestdemo.jsp
查詢字符串: name=john&nick=johncn
使用者主機(jī)IP: 127.0.0.1
使用者使用端口號: 1060
ASP中的Request 對象
Request 對象
可以使用 Request 對象訪問任何基于 HTTP 請求傳遞的所有信息,包括從 HTML 表格用 POST 方法或 GET 方法傳遞的參數(shù)、cookie 和用戶認(rèn)證。Request 對象使您能夠訪問客戶端發(fā)送給服務(wù)器的二進(jìn)制數(shù)據(jù)。
Request 的語法 :
Request[. 集合 | 屬性 | 方法 ]( 變量 )
在這里作者將挑選一些常用的對象語法進(jìn)行分析
1、Form
Form 集合通過使用 POST 方法的表格檢索郵送到 HTTP 請求正文中的表格元素的值。
語法
Request.Form(element)[(index)|.Count]
參數(shù)
element 指定集合要檢索的表格元素的名稱。
index 可選參數(shù),使用該參數(shù)可以訪問某參數(shù)中多個值中的一個。它可以是 1 到 Request.Form(parameter).Count 之間的任意整數(shù)。
Count 集合中元素的個數(shù)
Form 集合按請求正文中參數(shù)的名稱來索引。Request.Form(element) 的值是請求正文中所有 element 值的數(shù)組。通過調(diào)用 Request.Form(element).Count 來確定參數(shù)中值的個數(shù)。如果參數(shù)未關(guān)聯(lián)多個值,則計(jì)數(shù)為 1。如果找不到參數(shù),計(jì)數(shù)為 0。要引用有多個值的表格元素中的單個值,必須指定 index 值。index 參數(shù)可以是從 1 到 Request.Form(element).Count 中的任意數(shù)字。如果引用多個表格參數(shù)中的一個,而未指定 index 值,返回的數(shù)據(jù)將是以逗號分隔的字符串。
可以使用重述符來顯示表格請求中的所有數(shù)據(jù)值。例如,用戶通過指定幾個值填寫表格,見下圖。
對于 hobby 參數(shù),您可以使用下面的腳本檢索這些值!
< html>
。 head>< title>< /title>< /head> < body>
。 p> 請?zhí)顚懩愕膼酆?< /p>
。 form method="POST" action="form.asp">
。 p>< input type="text" name="hobby" size="20">< br>
< input type="checkbox" name="hobby" value=" 足球 "> 足球 < input type="checkbox" name="hobby" value=" 乒乓球 "> 乒乓球 < /p>
。 p>< input type="submit" value=" 發(fā)送 " name="B1">< input type="reset" value=" 重填 " name="B2">< /p>
。 /form>
。 % For Each i In Request.Form("hobby") Response.Write i & "< BR>" Next %>
。 /body>< /html>
將以上代碼剪貼到記事簿中(注意將“< ”后面的空格去掉),保存為 form.asp 文件并運(yùn)行,request 對象可以根據(jù)你在 form 中填入或選擇元素內(nèi)容的不同將元素逐個顯示出來。
當(dāng)然使用 For...Next 循環(huán)也可以生成同樣的輸出,如下所示 :
< %
For i = 1 To Request.Form("hobby").Count<
Response.Write Request.Form("hobby")(i) & "< BR>"Next<
%>
【ASP中,Request 對象獲取數(shù)據(jù)的3種方法:】
1.Request.Form:獲取以POST方式提交的數(shù)據(jù)(接收Form提交來的數(shù)據(jù));
2.Request.QueryString:獲取地址欄參數(shù)(以及以GET方式提交的數(shù)據(jù))
3.Request:包含以上兩種方式(優(yōu)先獲取GET方式提交的數(shù)據(jù)),它會在QueryString、Form、ServerVariable中都搜尋一遍。
而且有時候也會得到不同的結(jié)果。如果你僅僅是需要Form中的一個數(shù)據(jù),但是你使用了Request而不是Request.Form,那么程序?qū)⒃赒ueryString、ServerVariable中也搜尋一遍。如果正好你的QueryString或者ServerVariable里面也有同名的項(xiàng),你得到的就不是你原本想要的值了。
【asp中,request.form與request.querystring的比較】
。、對于post傳值的方法,采用request.form接受,他的參數(shù)值不會在url中用明文方式顯示,且長度不受限制,安全性相對較高;
2、get方法遞交的表單或通過url傳值采用request.querystring進(jìn)行獲值的方法,(1)參數(shù)值明碼顯示(2)長度受限;優(yōu)點(diǎn):(1)方便可以直接定義一個url就可以傳值;作用:常用與數(shù)據(jù)庫中的文章id傳值,進(jìn)行數(shù)據(jù)庫的查詢;