request.getReader()的怪异事件

		
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



posted on 2012-03-06 17:02  Miracle刘  阅读(435)  评论(0编辑  收藏  举报