HttpServletRequest對象代表客戶端的請求,當客戶端通過HTTP協議訪問服務器時,HTTP請求頭中的所有信息都封裝在這個對象中,通過這個對象提供的方法,可以獲得客戶端請求的所有信息。
獲得客戶機信息:
getRequestURL() 返回客戶端發出請求時的完整URL。
getRequestURI() 返回請求行中的參數部分。
getQueryString () 返回發出請求的客戶機的IP地址。
getRemoteHost() 返回發出請求的客戶機的完整主機名。
getRemoteAddr() 返回發出請求的客戶機的IP地址。
getPathInfo() 返回請求URL中的額外路徑信息。
getRemotePort() 返回客戶機所使用的網絡端口號。
getLocalAddr() 返回WEB服務器的IP地址。
getLocalName() 返回WEB服務器的主機名。
getHeader(string name) 以 String 的形式返回指定請求頭的值。如果該請求不包含指定名稱的頭,則此方法返回 null。如果有多個具有相同名稱的頭,則此方法返回請求中的第一個頭。頭名稱是不區分大小寫的。可以將此方法與任何請求頭一起使用
getHeaders(String name) 以 String 對象的 Enumeration 的形式返回指定請求頭的所有值
getHeaderNames() 返回此請求包含的所有頭名稱的枚舉。如果該請求沒有頭,則此方法返回一個空枚舉
獲得客戶機請求參數
getParameter(String name) 根據name獲取請求參數(常用)
getParameterValues(String name) 根據name獲取請求參數列表(常用)
getParameterMap() 返回的是一個Map類型的值,該返回值記錄着前端(如jsp頁面)所提交請求中的請求參數和請求參數值的映射關係。(編寫框架時常用)
例子:http://localhost:8088/hello/mytime?aaa=dddd&ccc=eeee
String queryString = request.getQueryString(); String header = request.getHeader("token"); String uri = request.getRequestURI(); String listString = ""; //獲取Body BufferedReader br = request.getReader(); String str = ""; while ((str = br.readLine()) != null) { listString += str; } //獲取參數 String parameter = request.getParameter("aaa");