1

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

因为将所有附加为 zip 文件的页面显示出来并不容易:InGoogleDocs

结构类似于 pageDef.jsp 包含:allThings.jsp design.jsp myFile.jsp

我得到的例外如下:

javax.servlet.jsp.JspException: ServletException in '/layout/global/allThings.jsp': ServletException in '/layout/body/design.jsp': ServletException in '/layout/sub/design.jsp': ServletException in ' /module/air/myFile.jsp': 在 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) 在 org.apache.jasper.servlet.JspServletWrapper 的 javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 的 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)。 service(JspServletWrapper.java:386) at 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(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke (Method.java:597) 在 org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:270) 在 org.apache.catalina.security。SecurityUtil$1.run(SecurityUtil.java:269) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) at org.apache.catalina.security.SecurityUtil .execute(SecurityUtil.java:302) 在 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)302)在 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)302)在 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 中的后退按钮并返回页面,则会出现异常。

4

1 回答 1

0

这个问题就解决了。

问题出在 JSTL 自定义标签库的 for 循环中!!

我如何解决(调试 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。因此,我可以发现问题在第二个。享受编码..

于 2013-09-25T08:48:38.080 回答