SpringBoot集成FineReport9.0实践

您所在的位置:网站首页 reportservlet插件 SpringBoot集成FineReport9.0实践

SpringBoot集成FineReport9.0实践

2024-06-29 00:13| 来源: 网络整理| 查看: 265

原文地址:https://www.jianshu.com/p/33cc25cd0043欢迎转载

一、背景

​ 因工作需要,部署了一套帆软报表系统,但是在实际应用过程中存在多套系统并存,对于用户来说无疑是一种负担,但是用帆软做报表系统开发报表方便便捷,且springboot配置及应用极为简单,二者结合,如虎添翼。

​ 经过查阅相关资料,大多数整合方案都是将springboot打成war包方式整合,难以体现出springboot的优势所在,因此有了尝试打包成jar的想法,现将具体操作步骤奉上,欢迎大家吐槽。

二、准备工作 1、下载安装帆软报表DEMO

​ 点击帆软报表V9.0版本下载并安装,安装成功后将用于报表系统集成及报表设计。

三、集成步骤 1、创建SpringBoot项目

​ 创建SpringBoot项目并测试web应用可正常访问。

2、引入帆软报表相关jar

​ 在SpringBoot项目根目录创建lib目录并将如下jar包导入到lib目录

1576825901192.png

​ 在pom文件中引入对应依赖

​ 其中除了systemPath配置告诉maven引入的本地jar包的位置

com.fr fr-chart 9.0 system ${project.basedir}/libs/fr-chart-9.0.jar com.fr fr-core 9.0 system ${project.basedir}/libs/fr-core-9.0.jar com.fr fr-datasource 9.0 system ${project.basedir}/libs/fr-datasource-9.0.jar com.fr fr-performance 9.0 system ${project.basedir}/libs/fr-performance-9.0.jar com.fr fr-platform 9.0 system ${project.basedir}/libs/fr-platform-9.0.jar com.fr fr-report 9.0 system ${project.basedir}/libs/fr-report-9.0.jar com.fr fr-third 9.0 system ${project.basedir}/libs/fr-third-9.0.jar com.oracle ojdbc14 10.2.0.3.0 system ${project.basedir}/libs/ojdbc14.jar mysql mysql-connector-java 5.1.6 com.ibm.informix jdbc 4.10.6.20151104 org.clojars.gzeureka javapns 2.2 net.sourceforge.jtds jtds 1.2.2 org.xerial sqlite-jdbc 3.8.11.2 com.microsoft.sqlserver sqljdbc4 4.0 net.sf.squirrel-sql.plugins sybase 3.2.2

划重点!!!敲黑板!!!下面的一步配置也是最重要的一步,网上很多的教程缺了这样一步之后就会导致虽然本地可以运行,但是只要使用maven打包就不行,因为maven没有将本地的jar也打到生成的包中,在pom中给spring boot的打包插件设置一下includeSystemScope参数即可。

org.springframework.boot spring-boot-maven-plugin true 3、获取WebReport绝对路径

​ 将WebReport目录拷贝到服务器的指定目录,如:

1576830659018.png

​ 获取WebReport的绝对路径:

D:\FineReport_9.0\WebReport

4、在Controller中添加Servlet的映射及设置内置Tomcat运行项目目录 @SpringBootApplication @RestController public class FinereportApplication { public static void main(String[] args) { SpringApplication.run(FinereportApplication.class, args); } /** * 验证web服务是否正常 * @return */ @GetMapping("/hello") public String hello(){ return "Hello World!"; } /** * 添加Servlet的映射 * @return */ @Bean public ServletRegistrationBean servletRegistrationBean(){ return new ServletRegistrationBean(new ReportServlet(),"/ReportServer"); } /** * 设置内置Tomcat运行项目目录 * @return */ @Bean public WebServerFactoryCustomizer webServerFactoryCustomizer(){ // 设置帆软报表根目录(第三步中获取的绝对路径) String documentRoot = "D:\FineReport_9.0\WebReport"; return new WebServerFactoryCustomizer() { @Override public void customize(ConfigurableWebServerFactory factory) { if (factory instanceof TomcatServletWebServerFactory) { TomcatServletWebServerFactory tomcat = (TomcatServletWebServerFactory) factory; if (!StringUtils.isEmpty(documentRoot)) { File root = new File(documentRoot); tomcat.setDocumentRoot(root); } } } }; } }

至此Springboot与帆软报表系统通过jar方式集成方案已经完成,附上项目目录:

1576831967686.png 四、访问报表 集成报表系统启动

打包完成后执行:

java -jar finereportdemo-0.0.1-SNAPSHOT.jar

访问集成报表系统

http://localhost:8080/ReportServer

1576831706544.png 访问集成报表系统报表:

http://localhost:8080/ReportServer?reportlet=demo/analytics/financial2/财务综合指标.cpt&op=write

1576831852102.png


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3