公司的项目是s1sh 的,现在在action执行完相应代码之后findForward到一个jsp页面A。
页面A引用了页面B,页面B引用(jsp:include)了页面C。页面C中 link 了一个css<link href="<%=request.getContextPath()%>/webapps/scripts/lighttree/jquery.lightTreeview.css" rel="stylesheet" type="text/css" />
<link href="<%=request.getContextPath()%>/webapps/styles/left.css" rel="stylesheet" type="text/css" />现在报错:java.lang.IllegalStateException: Cannot forward after response has been committed
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:312)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
at org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(ImportSupport.java:296)
at org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(ImportSupport.java:161)
//主要报错地方
at org.apache.jsp.webapps.pages.netTransport.clientBaseInfo_jsp._jspx_meth_c_005fimport_005f0(clientBaseInfo_jsp.java:811)
at org.apache.jsp.webapps.pages.netTransport.clientBaseInfo_jsp._jspService(clientBaseInfo_jsp.java:518)clientBaseInfo_jsp.java:811 行是 out.write("\t\t\t\t\t\t");只要删除了哪个css的引用项目就可以正常运行。ABC三个页面从前用都是好好的,也没有做什么大的改动。但是只要include B也面的jsp都会报错。请大家帮忙分析下具体的原因。
页面A引用了页面B,页面B引用(jsp:include)了页面C。页面C中 link 了一个css<link href="<%=request.getContextPath()%>/webapps/scripts/lighttree/jquery.lightTreeview.css" rel="stylesheet" type="text/css" />
<link href="<%=request.getContextPath()%>/webapps/styles/left.css" rel="stylesheet" type="text/css" />现在报错:java.lang.IllegalStateException: Cannot forward after response has been committed
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:312)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
at org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(ImportSupport.java:296)
at org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(ImportSupport.java:161)
//主要报错地方
at org.apache.jsp.webapps.pages.netTransport.clientBaseInfo_jsp._jspx_meth_c_005fimport_005f0(clientBaseInfo_jsp.java:811)
at org.apache.jsp.webapps.pages.netTransport.clientBaseInfo_jsp._jspService(clientBaseInfo_jsp.java:518)clientBaseInfo_jsp.java:811 行是 out.write("\t\t\t\t\t\t");只要删除了哪个css的引用项目就可以正常运行。ABC三个页面从前用都是好好的,也没有做什么大的改动。但是只要include B也面的jsp都会报错。请大家帮忙分析下具体的原因。
这个是错误是由于response多次提交或者是由于有页面显示后仍然含请求转向产生的,就是说程序在return之前就已经执行了跳转或者执行过response,之后遇到return的话,程序想再次执行跳转,也就是重定向,这时功能也许会实现了,但是控制台会报错
改
pageContext.request.contextPath/webapps/scripts/lighttree/jquery.lightTreeview.css
简单的说 假设你请求的某个页面已经开始跳转到另外一个页面 可是在跳转操作的后面还在向跳转前的页面输出内容 就会出现这个异常确认方式:
检查JSP生成的java文件看看生成的代码是否的确有这样的行为
解决方式:
取消这样的行为