2013-02-19 76 views
1

我得到一个servlet异常“Stream closed”!!我无法确定哪个jsp页面是有问题的或哪一行有问题。它显示了pagedefinition页面以及包含的页面。Servlet异常流关闭jsp

因为它是不容易显示所有网页连接为一个zip文件InGoogleDocs

的结构是这样 pageDef.jsp包含:allThings.jsp design.jsp myFile.jsp

我得到的例外如下:

javax.servlet.jsp.JspException:在的ServletException “/布局/克lobal/allThings.jsp':ServletException中的 '/layout/body/design.jsp':ServletException中的 '/layout/sub/design.jsp':ServletException中的 '/module/air/myFile.jsp':流关闭 在org.apache.struts.taglib.tiles.InsertTag $ InsertHandler.doEndTag(InsertTag.java:920) 在org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460) 在org.apache.jsp.pagedef.air.pageDef_jsp._jspx_meth_tiles_insert_0(pageDef_jsp.java:1693) 在org.apache.jsp.pagedef.air.pageDef_jsp._jspService(pageDef_jsp.java:146) 在有机.apache.jasper.runtime.HttpJspBase.service (HttpJspBase.java:70) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 在org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386) 在org.apache .jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java :717) 在sun.reflect.GeneratedMethodAccessor70.invoke(未知来源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.security.SecurityUtil $ 1.run(SecurityUtil.java:270) at org.apache.catalina.security.SecurityUtil在javax.security.auth.Subject.doAsPrivileged(Subject.java:517)上的java.security.AccessController.doPrivileged(Native Method) 上的$ 1.run(SecurityUtil.java:269) ,位于org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:163) ,位于org.apache.catalina.core。 ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283) 在org.apache.catalina.core.ApplicationFilterChain.access $ 000(ApplicationFilterChain.java:56)

重要提示: 我一直没有得到这个例外。 当我去的页面(有时我会得到例外)。如果没有得到,如果我在jsp中单击返回按钮并返回到页面将会发生异常。

回答

0

此问题已解决。

问题出在JSTL自定义标签库的for-loop!

我如何解决(调试JSP): 我制作了有问题的文件的不同副本,并将它们中的每一个都包含在定义JSP中。 这些有问题的JSP文件中的每一个都在不同的区域进行编辑,如下所示。如果我们这样做,错误将只出现在一个/一些JSP中,因此很容易找出异常。

说:
问题,ORIGINAL.jsp

<jsp:for...></jsp> 
<c:...>..</c> 
<a href="<c:..../>"> ... </a> 

问题,1.jsp页面

<c:...>..</c> 

问题,2.jsp

<jsp:for...></jsp> 

问题-3.JSP

<a href="<c:..../>"> ... </a> 

然后包括定义JSP 1,2和3。因此我可以发现问题出现在第二个问题上。享受编码..