2013-02-19 99 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。因此我可以發現問題出現在第二個問題上。享受編碼..