为什么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,接口就瘫了。请各位高手解答,万分感谢!祝情人节快乐!
...全文
1044 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
National 2006-02-15
  • 打赏
  • 举报
回复
多谢楼上大侠,问题解决。 不过还是有点糊涂为什么jsp不可以.

结贴!
低调的小青蛙 2006-02-15
  • 打赏
  • 举报
回复
Tomcat 的 javadoc 上写到:

对于 request 可以 either getInputStream or getReader 但是 not both
jsp 是 servlet 的封装,在 jsp 开始处理的时候,out = getReader() 已经执行了。
低调的小青蛙 2006-02-14
  • 打赏
  • 举报
回复
编写 servlet ,不用 jsp

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧