feng

飘逸~~~~~life

HttpServletRequest中getInputStream方法的一个问题

最近在开发一个接口的过程中需要接收HTTP的POST请求里面正文的内容,里面的数据是XML格式的字符串,同时在接收处理完成业务后需要向对方发送HTTP的POST请求,使用到了 HttpURLConnection类,来发送出一个POST请求,同时将我处理的结果写入正文当中,原先自己测试的时候也一直没有成功发送出数据,我自己使用了
HttpServletRequest中getInputStream方法来接收数据,没有收到任何数据。
后来发现只要在使用HttpURLConnection的时候

int code = httpURLConnection.getResponseCode();
把这个方法加入,就可以正确发送数据,否则好像发送不出的
另外注意要设置它的一些属性

 httpURLConnection.setDoInput(true);   
 httpURLConnection.setDoOutput(true);   
  httpURLConnection.setConnectTimeout(10000);  
  httpURLConnection.setRequestProperty("content-type", "text/html;charset=utf-8");  
  httpURLConnection.setRequestMethod("POST");
其中setRequestProperty("content-type", "text/html;charset=utf-8");  这个属性一点要设置,否则接收不到数据

在接收的时候也发现个奇怪的问题,接收不到任何的数据,后来发现我在
getInputStream方法前面使用了 getParameter方法,导致了getInputStream方法取不到任何数据,只要
把他们换下位置就可以了

posted on 2008-08-14 10:17 feng 阅读(7045) 评论(5)  编辑  收藏

Feedback

# re: HttpServletRequest中getInputStream方法的一个问题 2008-08-14 14:53 剑客阿飞

我头几天也遇到了同样的需求,我使用的是Apache的HttpClient,详见
http://www.blogjava.net/jiankeafei/archive/2008/08/14/222003.html  回复  更多评论   

# re: HttpServletRequest中getInputStream方法的一个问题 2008-08-14 17:14 cfr

我刚遇到类似问题,没有解决。weblogic10下用request.getInputStream()取不到数据,weblogic8下就没有问题,怎么回事啊  回复  更多评论   

# re: HttpServletRequest中getInputStream方法的一个问题[未登录] 2008-08-15 11:46 badboy

使用HttuURLConnection会有这么多问题吗?我用的时候都很顺利,还真没遇到这些问题,而且要从来没有调用过httpURLConnection.getResponseCode().  回复  更多评论   

# re: HttpServletRequest中getInputStream方法的一个问题 2008-08-25 12:18 mashengchao

我按你的方法还是不能输出任何数据  回复  更多评论   

# re: HttpServletRequest中getInputStream方法的一个问题[未登录] 2008-08-27 08:54 Dong

很牛很牛!对你很崇拜,五体投地!  回复  更多评论   



只有注册用户登录后才能发表评论。


网站导航: