request.getReader()的怪异事件

来源:互联网 发布:mac怎么打开cr2图片 编辑:程序博客网 时间:2024/06/08 22:15
Map<String, String[]> pmap = request.getParameterMap();
BufferedReader br = request.getReader();String res = "";
while ((res = br.readLine()) != null) {System.out.println("request body:" + res);out.print("<BR/>request body:" + res);}

以上代码在servlet里可以打印出来post请求的参数吗?


答案是不可以!!

为什么呢?

这个十分怪异,找了朋友,让他们帮忙用request.getReader()获得post参数,却都告诉我可以拿到。。

我就纳闷了,我的代码哪里出了错?

于是把朋友的代码拷过来,试了一下,成了!

就是第一行的getParameterMap(),这句话把数据读了一遍之后,后面的request.getReader()拿不到了!

去掉第一行的getParameterMap()就可以了。。。。


getReader只能调用一次


原因参考API,及这个帖子http://topic.csdn.net/t/20030816/03/2152573.html