在jsp中include servlet的问题

J-will 发布于 2011/08/23 22:05
阅读 1K+
收藏 0

我有一个jsp的页面用<jsp:include page=...> 的方法include 一个servlet,同时这个servlet又通过RequestDispatcher转交给另一个jsp用来生成视图。

其实就是JSP1 -----SERVLET -----JSP2 这么一个过程。

但是在调试页面的时候  JSP1 这个页面只会显示  servlet  输出的内容(即jsp2根据servlet的处理结果产生的视图),JSP1中其他的html静态内容被忽略掉了,同时在后台会打印错误  IOEXCEPTION   :STREAM  COLSED

请问有谁可以告诉我为什么,应该如何解决,谢谢了!

加载中
0
翟柱堂
翟柱堂
先问一下你的servlet是通过RequestDispatcher.forward()转发到另一个jsp页面的吗?如果,那就会出现你说的情况,你先改为RequestDispatcher.include()试试。
1
无名人士
无名人士
这是因为你原来包含include的页面已经接收了一个请求正在处理,include的功能只是将另外一些程序包含进这个处理中来,如果你在include的页面里面,把这个请求转发出去,那你原来接收请求的页面处理什么,请求在中途又被你转发到别的地方去了阿
0
scl33
scl33

换个更高的JDK和TOMCAT再试试

0
J-will
J-will

引用来自“翟柱堂”的答案

先问一下你的servlet是通过RequestDispatcher.forward()转发到另一个jsp页面的吗?如果,那就会出现你说的情况,你先改为RequestDispatcher.include()试试。
谢谢,按照你的方法,我的问题解决了,但是这是为什么呢?一旦用forward方法就会自动把流关闭吗?
返回顶部
顶部