您的位置:首页 > 产品设计 > UI/UE

request获取数据的几种方法

2017-09-02 14:39 225 查看
1、request.getparameter();

1//只接收前台穿过来的一个指定的参数2Stringvalue=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
4publicObjectalipayCallback(HttpServletRequestrequest){
5Map<String,String>params=Maps.newHashMap();
6//getParameterMap()一般多用于接收前台表单多参数传输的数据
7MaprequestParams=request.getParameterMap();
8for(Iteratoriter=requestParams.keySet().iterator();iter.hasNext();){
9Stringname=(String)iter.next();
10String[]values=(String[])requestParams.get(name);
11StringvalueStr="";
12for(inti=0;i<values.length;i++){
13
14valueStr=(i==values.length-1)?valueStr+values[i]:valueStr+values[i]+",";
15}
16//把数据全部加进map集合中
17params.put(name,valueStr);
18}
19logger.info("支付宝回调,sign:{},trade_status:{},参数:{}",params.get("sign"),params.get("trade_status"),params.toString());


如果觉得本博客还不错的话,欢迎进群一起讨论:点我进群

下面是request的主要属性:

setAttribute(Stringname,Object):设置名字为name的request的参数值

getAttribute(Stringname):返回由name指定的属性值

getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例

getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组

getCharacterEncoding():返回请求中的字符编码方式

getContentLength():返回请求的Body的长度

getHeader(Stringname):获得HTTP协议定义的文件头信息

getHeaders(Stringname):返回指定名字的requestHeader的所有值,结果是一个枚举的实例

getHeaderNames():返回所以requestHeader的名字,结果是一个枚举的实例

getInputStream():返回请求的输入流,用于获得请求中的数据

getMethod():获得客户端向服务器端传送数据的方法

getParameter(Stringname):获得客户端传送给服务器端的有name指定的参数值

getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实



getParameterValues(Stringname):获得有name指定的参数的所有值

getProtocol():获取客户端向服务器端传送数据所依据的协议名称

getQueryString():获得查询字符串

getRequestURI():获取发出请求字符串的客户端地址

getRemoteAddr():获取客户端的IP地址

getRemoteHost():获取客户端的名字

getSession([Booleancreate]):返回和请求相关Session

getServerName():获取服务器的名字

getServletPath():获取客户端所请求的脚本文件的路径

getServerPort():获取服务器的端口号

removeAttribute(Stringname):删除请求中的一个属性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: