<%@ page import="com.system.ExportExcel"%>
<HTML>
<HEAD>
<TITLE>导出数据到excel文档</TITLE>
</HEAD>
<BODY>
<%
String str=(String)session.getValue("str");   response.reset();
   response.setContentType("application/vnd.ms-excel; charset=gb2312");
   response.setHeader("Content-Disposition","attachment; filename=excel.xls");
   ExportExcel.writeExcel(response.getOutputStream(),str);
%>
信息: Server startup in 2812 ms
java.lang.IllegalStateException: getOutputStream() has already been called for t
his response
        at org.apache.catalina.connector.Response.getWriter(Response.java:606)
        at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade
.java:195)
        at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:12
4)
        at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.jav
a:117)
        at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.jav
a:191)
        at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(J
spFactoryImpl.java:115)
        at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactor
yImpl.java:75)
        at org.apache.jsp.code.go_005fto_005fexcel_jsp._jspService(org.apache.js
p.code.go_005fto_005fexcel_jsp:74)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
.java:322)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
14)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
        at com.system.LoginFilter.doFilter(LoginFilter.java:42)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)

解决方案 »

  1.   

    <%@ page import="com.system.ExportExcel"%>
    <HTML>
    <HEAD>
    <TITLE>导出数据到excel文档</TITLE>
    </HEAD>
    <BODY>
    <%
    String str=(String)session.getValue("str");response.reset();
    response.setHeader("Content-Disposition","attachment; filename=excel.xls");
    ExportExcel.writeExcel(response.getOutputStream(),str);
    %>或者<%@ page import="com.system.ExportExcel"%>
    <HTML>
    <HEAD>
    <TITLE>导出数据到excel文档</TITLE>
    </HEAD>
    <BODY>
    <%
    String str=(String)session.getValue("str");response.reset();
    response.setContentType("application/vnd.ms-excel; charset=gb2312");
    ExportExcel.writeExcel(response.getOutputStream(),str);
    %>
    会不会还有错?
      

  2.   

    只要在JSP页面中把<%%>之外的所有带输出的语句及空格\换行等都去掉,具体原因可以去百度找