具体报错信息如下:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Exception in JSP: /Flex/excelexport.jsp:10 7: String s=df.format(new Date()); 8: request.setCharacterEncoding("UTF-8"); 9: response.setHeader("Content-disposition","attachment; filename=ExportFile "+s+".xls"); 10: out.print(request.getParameter("htmltable")); 11: %> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:367) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause
java.lang.IllegalStateException: Post too large org.apache.catalina.connector.Request.parseParameters(Request.java:2388) org.apache.catalina.connector.Request.getParameter(Request.java:1005) org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:353) org.apache.jsp.Flex.excelexport_jsp._jspService(excelexport_jsp.java:52) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.27 logs.
Apache Tomcat/5.5.27
分析其原因为:在 Tomcat 中,设置的 maxPostSiz 太小所致, 更改方法如下:
在 conf/server.xml 中,增加 maxPostSize=0
<Connector acceptCount="100" connectionTimeout="20000" debug="0" disableUploadTimeout="true" enableLookups="false" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" port="8092" redirectPort="8443" maxPostSize="0"/>
就可以了。