request獲取數據的幾種方法


1、request.getparameter();

 1 //只接收前台穿過來的一個指定的參數 2 String value=request.getparameter("key"); 

2、request.getParameterMap();

 

說白了前端提交到Servlet或者Action里面的參數Map,如果你是以表單提交,那么request.getParameterMap()中將包含你表單里面所有input標簽的數據,以其name為key,以其value為值,如果你是以ajax提交的話,就是你自己組織的所有參數了。

有時候頁面傳來多個參數的情況下,要寫多個request.getParameter(name)進行逐個接收,但是當傳過來的參數非常多的時候,代碼就顯得有些臃腫了,下面舉個例子:

 1 //這個也是支付寶回調的信息
 2     @RequestMapping("alipay_callback.do")  3  @ResponseBody  4     public Object alipayCallback(HttpServletRequest request){  5         Map<String,String> params = Maps.newHashMap();  6         //getParameterMap()一般多用於接收前台表單多參數傳輸的數據
 7         Map requestParams = request.getParameterMap();  8         for(Iterator iter = requestParams.keySet().iterator();iter.hasNext();){  9             String name = (String)iter.next(); 10             String[] values = (String[]) requestParams.get(name); 11             String valueStr = ""; 12             for(int i = 0 ; i <values.length;i++){ 13 
14                 valueStr = (i == values.length -1)?valueStr + values[i]:valueStr + values[i]+","; 15  } 16             //把數據全部加進map集合中
17  params.put(name,valueStr); 18  } 19         logger.info("支付寶回調,sign:{},trade_status:{},參數:{}",params.get("sign"),params.get("trade_status"),params.toString());

如果覺得本博客還不錯的話,歡迎進群一起討論:點我進群

下面是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():獲取服務器的端口號 

removeAttribute(String name):刪除請求中的一個屬性


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM