jasper导出Excel文件,debug导出文件异常,非debug是正常的

u010538302 u010538302 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

public class ReportUtil {
public static void http_export_Excel(HttpServletRequest request, HttpServletResponse response,
String jasperTemplateName, List<?> list,String exportname) {

response.setContentType("application/vnd.ms-excel");
JasperReport jasperReport = null;
JasperPrint jasperPrint = null;
// String url = ReportUtil.class.getResource("ReportUtil.class").getFile().toString();
// String jasperPath = url.substring(0,url.indexOf("WEB-INF"))+"/jasper/"+jasperTemplateName;
// File reportFile = new File(jasperPath.replace("file:", ""));
String jasperPath = "F:/ireport/loaninformationquery.jasper";
File reportFile = new File(jasperPath);

try {

String fileName = new String((exportname+".xls").getBytes("gbk"), "ISO8859_1");
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
jasperReport = (JasperReport) JRLoader.loadObjectFromFile(reportFile.getPath());
jasperPrint = JasperFillManager.fillReport(jasperReport, null, new JRBeanCollectionDataSource(list));
Exporter<ExporterInput, XlsReportConfiguration, XlsExporterConfiguration, OutputStreamExporterOutput> exporter = new JRXlsExporter();
SimpleXlsReportConfiguration config = new SimpleXlsReportConfiguration();
config.setRemoveEmptySpaceBetweenColumns(true);
config.setRemoveEmptySpaceBetweenRows(true);
config.setWhitePageBackground(false);
config.setDetectCellType(true);
exporter.setConfiguration(config);
ExporterInput exporterInput = new SimpleExporterInput(jasperPrint);
ServletOutputStream ouputStream = response.getOutputStream();
OutputStreamExporterOutput exporterout = new SimpleOutputStreamExporterOutput(ouputStream);
exporter.setExporterInput(exporterInput);
exporter.setExporterOutput(exporterout);
exporter.exportReport();

} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
上面是我的源码
下面是报错堆栈信息:
[ERROR] Error for /mcms-portal/crzDebit/account/toGetExcel.do
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:366)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
at ch.qos.logback.classic.spi.ThrowableProxy.<init>(ThrowableProxy.java:55)
at ch.qos.logback.classic.spi.LoggingEvent.<init>(LoggingEvent.java:124)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:447)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:403)
at ch.qos.logback.classic.Logger.log(Logger.java:803)
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:147)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:910)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at com.suning.mcms.web.auth.filter.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:204)
at com.suning.mcms.web.auth.filter.FilterSecurityInterceptor.doFilterHttp(FilterSecurityInterceptor.java:131)
at com.suning.mcms.web.auth.filter.SecurityFilter.doFilter(SecurityFilter.java:52)
at com.suning.mcms.web.auth.filter.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:216)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
[ERROR] EXCEPTION
java.lang.OutOfMemoryError: PermGen space
java.lang.reflect.InvocationTargetException
[ERROR] handle failed
java.lang.OutOfMemoryError: PermGen space
...全文

相关推荐

JasperAssistant User Guide

JasperAssistant是java报表组件jasperreport的可视化设计工具,它是一个Eclipse插件,由于它和iReport一样都是jasperreport报表可视化设计工具,所以,当你使用ireport设计报表遇到问题的时候,如果在Ireport文档上如果不能找到答案或提示信息,也许这个文档对你很有帮助

Nicholas668

AI工作流操作系统:从工具使用到基础设施搭建

AI工作流本质上是将大模型能力转化为可复用、可集成、可运维的工程化基础设施,其核心在于数据流闭环与系统化编排,而非单点AI工具调用。它融合Prompt工程、本地化部署(如Ollama+Qwen)、API稳定性治理与LangChain流水线编排等关键技术,支撑从会议纪要自动化到抖音脚本生成等真实业务场景。相比传统‘AI工具教程’,该范式强调数据主权、可审计性与环境可复现性,使AI真正像MySQL或Git一样成为开发与运营的底层能力。本文聚焦实战导向的AI工作台搭建,覆盖Docker化部署、三层漏斗架构与合规闭

WGH100817

【Python编程】Python安全编程与常见漏洞防护

内容概要:本文深入剖析Python应用的安全风险与防护策略,重点对比SQL注入、命令注入、反序列化漏洞、路径遍历等常见攻击面的防御方案。文章从输入验证原则出发,详解参数化查询(parameterized query)对SQL注入的防御机制、subprocess模块的shell=True风险与参数列表传递、以及pickle/ast.literal_eval的安全替代方案。通过代码示例展示密码哈希(bcrypt/argon2)的盐值与迭代策略、JWT令牌的签名验证与过期控制、以及CORS跨域配置的白名单限制,同时介绍bandit静态安全扫描的规则配置、OWASP Python安全编码规范、以及依赖漏洞(CVE)的自动化检测(safety/pip-audit),最后给出在Web应用、数据处理、云原生部署等场景下的安全纵深防御体系与最小权限原则实践。 migu.blsxex.hxjlj.org.cn www.huike-auto.com m.huiyimofang.com hx-whg.com www.huaxiazhenhui.com

2601_96960478

新型电力系统下PI-LSTM物理信息长短期记忆神经网络的电力变压器状态评估方法(Matlab代码实现)

内容概要:本文提出了一种基于物理信息长短期记忆神经网络(PI-LSTM)的电力变压器状态评估方法,旨在适应新型电力系统对设备状态精准评估的需求。该方法将物理规律作为先验知识融入LSTM网络,通过构建包含变压器热力学、电气特性等物理约束的损失函数,提升模型在数据稀疏或噪声干扰下的泛化能力与解释性。利用Matlab实现了PI-LSTM模型的搭建、训练与验证,通过实际案例对比传统LSTM与PI-LSTM在状态参数预测精度、趋势拟合度及异常检测敏感性方面的表现,证明了所提方法的有效性和优越性,为变压器等关键电力设备的智能运维提供了新的技术路径。; 适合人群:从事电力系统、智能电网、设备状态监测与故障诊断研究的科研人员、工程技术人员及高校研究生。; 使用场景及目标:①应用于新型电力系统中电力变压器的健康状态评估与预测性维护;②为掌握物理信息神经网络(PINN)在电力系统中的融合应用提供Matlab实践范例; 阅读建议:建议读者结合Matlab代码深入理解PI-LSTM的网络结构设计、物理约束项的数学表达与代码实现细节,并尝试在不同工况数据集上复现和测试,以充分掌握其在提高模型物理一致性与预测可靠性方面的核心优势。

然哥爱编程

硕士复现燃料电池供氢系统建模及控制策略Simulink仿真(附带说明PPT+参考文献+复现模型+实物源码)

内容概要:本资源聚焦于燃料电池供氢系统的建模与控制策略研究,通过Simulink仿真平台实现系统动态行为的精确模拟与控制算法的验证。内容涵盖供氢系统的关键部件建模,如氢气供应管路、压力调节阀、储氢罐及燃料电池堆等,并针对系统响应滞后、压力波动等问题,设计并实现了先进的控制策略,例如基于反馈与前馈的复合控制、PID控制或模型预测控制(MPC),以确保氢气供给的稳定性与效率。配套提供的说明PPT详细阐述了建模思路与控制逻辑,参考文献为研究提供了理论支撑,而完整的复现模型与实物源码则极大地方便了学习者进行仿真复现与二次开发。; 适合人群:具备一定自动化、电气工程或能源动力系统背景,正在进行相关课题研究的研究生,以及从事氢能系统开发的工程技术人员。; 使用场景及目标:① 学习并掌握燃料电池供氢系统的工作原理与关键组件的数学建模方法;② 利用Simulink搭建复杂能源系统的仿真模型,并设计、调试与验证先进控制策略;③ 基于提供的完整资源包(PPT、模型、源码)进行科研复现,作为学位论文或学术研究的技术基础。; 阅读建议:学习者应结合说明PPT的理论讲解,逐步操作复现模型,重点关注控制模块的设计逻辑与参数整定过程。建议在理解现有模型的基础上,尝试修改工况参数或优化控制算法,以深化对系统动态特性的认识,从而将本资源作为开展自主创新研究的有效跳板。

小念念_
评论
收藏 已收藏
分享
返回顶部
u010538302
Java 51,407 成员 86,127 内容