Request對象的作用是與客戶端交互,收集客戶端的Form、Cookies、超鏈接,或者收集服務器端的環境變量。
request對象是從客戶端向服務器發出請求,包括用戶提交的信息以及客戶端的一些信息。客戶端可通過HTML表單或在網頁地址后面提供參數的方法提交數據,然后通過request對象的相關方法來獲取這些數據。request的各種方法主要用來處理客戶端瀏覽器提交的請求中的各項參數和選項。
request對象的五個集合
request對象有五個集合,下面予以介紹:
QueryString
:用以獲取客戶端附在url地址后的查詢字符串中的信息。
例如:stra=Request.QueryString [“strUserld”]
Form
:用以獲取客戶端在FORM表單中所輸入的信息。(表單的method屬性值需要為POST)
例如:stra=Request.Form[“strUserld”]
Cookies
:用以獲取客戶端的Cookie信息。
例如:stra=Request.Cookies[“strUserld”]
ServerVariables
:用以獲取客戶端發出的HTTP請求信息中的頭信息及服務器端環境變量信息。
例如:stra=Request.ServerVariables[“REMOTE_ADDR”],返回客戶端IP地址
ClientCertificate
:用以獲取客戶端的身份驗證信息
例如:stra=Request.ClientCertificate[“VALIDFORM”],對于要求安全驗證的網站,返回有效起始日期。
request對象的常用方法
一、獲取客戶機環境信息常見方法:
setAttribute(String name,Object):設置名字為name的request的參數值
getAttribute(String name):返回由name指定的屬性值
getAttributeNames():返回request對象所有屬性的名字集合,結果是一個枚舉的實例
getCookies():返回客戶端的所有Cookie對象,結果是一個Cookie數組
getCharacterEncoding():返回請求中的字符編碼方式
getContentLength():返回請求的Body的長度
getHeader(String name):獲得HTTP協議定義的文件頭信息
getHeaders(String name):返回指定名字的request Header的所有值,結果是一個枚舉的實例
getHeaderNames():返回所以request Header的名字,結果是一個枚舉的實例
getInputStream():返回請求的輸入流,用于獲得請求中的數據
getMethod():獲得客戶端向服務器端傳送數據的方法
getParameter(String name):獲得客戶端傳送給服務器端的有name指定的參數值
getParameterNames():獲得客戶端傳送給服務器端的所有參數的名字,結果是一個枚舉的實例
getParameterValues(String name):獲得有name指定的參數的所有值
getProtocol():獲取客戶端向服務器端傳送數據所依據的協議名稱
getQueryString():獲得查詢字符串
getRequestURI():獲取發出請求字符串的客戶端地址
getRemoteAddr():獲取客戶端的IP地址
getRemoteHost():獲取客戶端的名字
getSession([Boolean create]):返回和請求相關Session
getServerName():獲取服務器的名字
getServletPath():獲取客戶端所請求的腳本文件的路徑
getServerPort():獲取服務器的端口號
二、獲得客戶機請求頭:
1.getHeader(String name)方法
2.getHeaders(String name)方法
3.getHeaderNames()方法
在瀏覽器訪問該程序,后臺輸出如下:
三、獲得客戶機請求參數(客戶端提交的數據):
1.getParameter(name)方法
2.getParameterValues(String name)方法
3.getParameterNames方法
4.getParameterMap方法,做框架時大量使用
評論
查看更多