为什么request.getInputStream()接收输入流始终为空?

National 2006-02-14 05:52:05
真是奇怪的问题,因为我在本机测试正常,一旦发送到服务器就得不到返回值:

JSP代码如下:

InputStreamReader isr = new InputStreamReader (request.getInputStream());
BufferedReader br = new BufferedReader (isr);
out.println (br.readLine ());

如果我用表单post一个请求到此JSP,打印结果会是null,但直接用request.getParameter("***")还是可以得到表单值的。

也就是说,流不存在了,但request对象还在。

我怀疑是服务端在什么地方已经getInputStream了,所以再取为空,因为我在本机,结果是不为空的。

如何解决呢,因为我需要用request传递xml数据,如果取不到InputStream,接口就瘫了。请各位高手解答,万分感谢!祝情人节快乐!
...全文
623 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
National 2006-02-15
多谢楼上大侠,问题解决。 不过还是有点糊涂为什么jsp不可以.

结贴!
回复
Tomcat 的 javadoc 上写到:

对于 request 可以 either getInputStream or getReader 但是 not both
jsp 是 servlet 的封装,在 jsp 开始处理的时候,out = getReader() 已经执行了。
回复
编写 servlet ,不用 jsp
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-02-14 05:52
社区公告
暂无公告