request.getParameter()不能获得值

    在调试汇付接口的过程中,接收返回的参数用request.getParameter()获取参数的时候,获得的值为null。

搜索资料说这种情况跟form表单的属性 enctype有关系。当form表单内容采用enctype=multipart/form-data编码时,

调用request.getParameter()获取不到数据。可以通过request.getInputStream()获得数据,并把

“UsrCustId=6000060003271506, BgRetUrl=http%3A%2F%2F218.241.185.188%3A59999%2Fsrd%2Fviews%2Fregister%2FuserRegister”

格式的数据转换为字符串,在把字符串转换为map数据就可以取值了。

String string = IOUtils.toString(request.getInputStream());
Map<String, String> mapRequest = urlRequest(string);

public Map<String, String> urlRequest(String string) {
  Map<String, String> mapRequest = new HashMap<String, String>();
  String[] arrSplit=string.split("[&]");
  for(String strSplit:arrSplit)
     {
           String[] arrSplitEqual=null;        
           arrSplitEqual= strSplit.split("[=]");
         
           //解析出键值
           if(arrSplitEqual.length>1)
           {
               //正确解析
               mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);
             
           }
           else
           {
               if(arrSplitEqual[0]!="")
               {
               //只有参数没有值,不加入
               mapRequest.put(arrSplitEqual[0], "");      
               }
           }
     }
  return mapRequest;
 }

时间: 2024-10-15 03:32:29

request.getParameter()不能获得值的相关文章

ajax post请求request.getParameter(&quot;&quot;)取值为null

今天在写提交一个json数据到后台,然后后台返回一个json数据类型.但是发现后台通过request.getParamter("")取到的值为null. 于是写一个简单的ajax 请求,来排查问题 前台代码: $(document).ready(function(){ $("#ajax").click(function(){ var depart="depart"; $.ajax({ url :path+ "/AjaxReponse&q

linux 上部署tomcat的java web项目,会出现post提交request.request.getParameter()的得不到值的情况

有时候明明在windows上非常的正常,而在linux上就不正常了,在windows上post提交request.request.getParameter()有值,而在liunx上没有值. 我开始以为是我的tomcat版本,发现其实不是,tomcat在linux和windows上基本是相同的. 这样我就怀疑是不是我的配置文件错误,在tomcat下的conf的server.xml文件配置错误.就决定去找这个文件,我就抱着试一试的心态了一个地方 <Connector port="80"

request.getParameterValues与request.getParameter的区别

一. 简单的对比 request.getParameter用的比较多,相对熟悉 request.getParameterValues(String   name)是获得如checkbox类(名字相同,但值有多个)的数据.   接收数组变量 ,如checkobx类型     request.getParameter(String   name)是获得相应名的数据,如果有重复的名,则返回第一个的值 . 接收一般变量 ,如text类型 例: 1. 三个名字相同的text标签 <input type=&qu

说说request.getParameter/setAttribute/getAttribute的区别

1.getAttribute是取得jsp中 用setAttribute設定的attribute 2.parameter得到的是string:attribute得到的是object 3.request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据:request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享.即request.getAttribute()方

自己用反射写的一个request.getParameter工具类

适用范围:当我们在jsp页面需要接收很多值的时候,如果用request.getParameter(属性名)一个一个写的话那就太麻烦了,于是我想是 否能用反射写个工具类来简化这样的代码,经过1个小时的代码修改调试,终于雏形出来了,很高兴调试成功,呵呵,代码贴出来. package com.letv.uts2.utcServer.util; import org.slf4j.Logger;import org.slf4j.LoggerFactory; import java.lang.reflect

request.getparameter和 request.getattribute的差别

request.getAttribute():是request时设置的变量的值,用request.setAttribute("name","您自己的值");来设置值, request.getParameter():提取发送过来的參数如:本网页 request.getParameter 是用来接受来自get方法或post方法的參数 <form method=post> <form method=get> <a href="1.j

request.getParameterValues与request.getParameter的差别

一. 简单的对照 request.getParameter用的比較多,相对熟悉 request.getParameterValues(String   name)是获得如checkbox类(名字同样,但值有多个)的数据.   接收数组变量 ,如checkobx类型     request.getParameter(String   name)是获得对应名的数据,假设有反复的名,则返回第一个的值 . 接收一般变量 ,如text类型 例: 1. 三个名字同样的text标签 <input type=&qu

request.setAttribute()、session.setAttribute()和request.getParameter()的联系与区别(记录)

1.session.setAttribute()和session.getAttribute()配对使用,作用域是整个会话期间,在所有的页面都使用这些数据的时候使用. 2.request.setAttribute()和request.getAttribute()配对使用,作用域是请求和被请求页面之间.request.setAttribute()是只在此action的下一个forward需要使用的时候使用:request.getAttribute()表示从request范围取得设置的属性,必须要先s

request.setAttribute()、session.setAttribute()和request.getParameter()、request.getAttribute()的联系与区别

1.session.setAttribute()和session.getAttribute()配对使用,作用域是整个会话期间,在所有的页面都使用这些数据的时候使用. 2.request.setAttribute()和request.getAttribute()配对使用,作用域是请求和被请求页面之间. request.setAttribute()是只在此action的下一个forward需要使用的时候使用:request.getAttribute()表示从request范围取得设置的属性,必须要先