1. 程式人生 > 實用技巧 >request的各種方法

request的各種方法

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
System.out.println("request.getAuthType():" + request.getAuthType()); // 獲取保護servlet的認證方案名(BASIC或SSL),未受保護的servlet返回的就是null
System.out.println("request.getCharacterEncoding():" + request.getCharacterEncoding()); // 獲取字元編碼

System.out.println("request.getContentLength():" + request.getContentLength()); // 返回請求體內容的長度
System.out.println("request.getContentType():" + request.getContentType()); // 獲取內容型別
System.out.println("request.getContextPath():" + request.getContextPath()); // 獲取上下文路徑,就是"/"+工程名
System.out.println("request.getLocalAddr():" + request.getLocalAddr()); // 獲取應用伺服器的IP地址
System.out.println("request.getLocalName():" + request.getLocalName()); // 獲取應用伺服器的主機名
System.out.println("request.getLocalPort():" + request.getLocalPort()); // 獲取應用伺服器的埠號
System.out.println("request.getMethod():" + request.getMethod()); // 獲取請求方式獲取請求方式(GET與POST為主,也會有PUT、DELETE、INPUT)
System.out.println("request.getPathInfo():" + request.getPathInfo());
System.out.println("request.getPathTranslated():" + request.getPathTranslated());
System.out.println("request.getProtocol():" + request.getProtocol()); // 獲取客戶端向服務端傳送資料使用的協議名稱
System.out.println("request.getQueryString():" + request.getQueryString()); // 獲取追加到Url後面的查詢字串
System.out.println("request.getRemoteAddr():" + request.getRemoteAddr()); // 獲取發出請求的客戶端的IP地址
System.out.println("request.getRemoteHost():" + request.getRemoteHost()); // 獲取發出請求的客戶端的主機名
System.out.println("request.getRemotePort():" + request.getRemotePort()); // 獲取發出請求的客戶端的埠號
System.out.println("request.getRemoteUser():" + request.getRemoteUser()); // 如果使用者已經過認證,則返回發出請求的使用者登入資訊
System.out.println("request.getRequestedSessionId():" + request.getRequestedSessionId()); // 獲取sessionId
System.out.println("request.getRequestURI():" + request.getRequestURI()); // 獲取"/"+工程名+請求路徑
System.out.println("request.getRequestURL():" + request.getRequestURL()); // 獲取完整的請求地址,不帶queryString
System.out.println("request.getScheme():" + request.getScheme()); // 獲取當前連結使用的協議,一般應用就是http,SSL返回https
System.out.println("request.getServerName():" + request.getServerName()); // 獲取URL請求的名字(以Ip請求就是Ip,以域名請求就是域名)
System.out.println("request.getServerPort():" + request.getServerPort()); // 獲取URL請求的埠號
System.out.println("request.getServletPath():" + request.getServletPath()); // 獲取請求路徑
System.out.println("request.isSecure():" + request.isSecure()); // 獲取此請求是否使用安全協議(比如https)
}

我從本地發起一個請求"http://localhost:8080/TestWeb/request?a=1&b=2&c=3",先看下用工具抓取的此次請求、響應的資料(火狐、360、谷歌都有,按F12即可):

再看一下後臺的執行結果:

request.getAuthType():null
request.getCharacterEncoding():null
request.getContentLength():0
request.getContentType():application/x-www-form-urlencoded
request.getContextPath():/TestWeb
request.getLocalAddr():127.0.0.1
request.getLocalName():dell
request.getLocalPort():8080
request.getMethod():POST
request.getPathInfo():null
request.getPathTranslated():null
request.getProtocol():HTTP/1.1
request.getQueryString():a=1&b=2&c=3
request.getRemoteAddr():127.0.0.1
request.getRemoteHost():127.0.0.1
request.getRemotePort():3405
request.getRemoteUser():null
request.getRequestedSessionId():B198D2D352F2F23A1B3754246D68B803
request.getRequestURI():/TestWeb/request
request.getRequestURL():http://localhost:8080/TestWeb/request
request.getScheme():http
request.getServerName():localhost
request.getServerPort():8080
request.getServletPath():/request
request.isSecure():false