Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。下面介绍下一个简单的springBoot项目的搭建以及与润乾V5集成的过程。

PS:如已掌握springBoot工程搭建,第一部分可忽略

开发工具:myeclipse 2017

一:maven构建springBoot项目

1、访问http://start.spring.io/

2、选择构建工具Maven Project、Spring Boot版本,Dependencies

选择web,可参考下图所示:

3、点击Generate Project下载项目压缩包

4、解压后,使用eclipse,Import -> Existing Maven Projects -> Next ->选择解压后的文件夹-> Finsh,OK done。

工程会自动根据pom.xml中的配置自动加载需要的jar文件,jar加载完成后一个简单的springBoot工程搭建完毕。

5、编写controller测试:

packagecom.neo.springBoot;

importjava.util.Map;

importorg.springframework.stereotype.Controller;

importorg.springframework.web.bind.annotation.RequestMapping;

@Controller

publicclassHelloController {

@RequestMapping("/hello")

publicString index() {

return"Hello world!";

}

}

6、启动springBoot,工程搭建后,会自动在com.neo.springBoot(neo.springBoot路径为下载工程时设置的包路径)下生成一个Application.java,运行该类就能启动工程,在该类上右键——Run As——Spring Boot App,即可启动项目。

7、打开浏览器访问:http://localhost:8080/hello,即可在页面中输出“Hello World!”

8、springBoot默认不支持jsp页面展示,而报表需要通过jsp的tag标签展示,所以要在功能中增加jsp展示的配置。

9、打开pom.xml,在里边增加:

同样,工程会自动加载相关的jar包,下载完成后,工程即可支持jsp文件。

二:集成润乾V5

1:在src/main下新建目录webapp,并将润乾V5设计器安装后产生的demo应用下的文件复制到webapp下。springBoot不需要web.xml,所以web.xml不需要复制,并且WEB-INF下的lib目录不需要复制。

2:集成jar包,springBoot是通过maven管理jar包,在设计器安装目录下的\report5\doc\zh有个pom.xml,润乾需要的第三方jar包在该文件中配置,将润乾的pom.xml中的内容复制到工程中即可。润乾自己的jar包需要手动集成到springBoot项目中,集成方法:

在开发工具中,右键Referenced Libraries——Build Path——configure Build Path——Add External JARs,在弹出窗口中选择引入的jar包,本例只引入几个相关jar包,实际使用时引入除pom.xml中其他所有jar包,

3、配置servlet

润乾报表需要servlet加载配置文件,普通java web应用中servlet是在web.xml中配置,但springBoot总并不会读取web.xml,所以所需要的servlet、listener、filter都需要单独在springBoot中单独配置。

Spring Boot提供了 ServletRegistrationBeanFilterRegistrationBeanServletListenerRegistrationBean这3个来进行配置Servlet、Filter、Listener。

在工程中新建class,源码如下:

packagecom.neo.springBoot;

importjava.util.*;

importorg.springframework.boot.context.embedded.FilterRegistrationBean;

importorg.springframework.boot.context.embedded.ServletListenerRegistrationBean;

importorg.springframework.boot.context.embedded.ServletRegistrationBean;

importorg.springframework.context.annotation.Bean;

importorg.springframework.context.annotation.Configuration;

importorg.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

importcom.raqsoft.report.view.ReportServlet;

importcom.raqsoft.report.view.ServletMappings;

@Configuration

publicclassWebConfig {

@Bean

publicServletRegistrationBean servletRegistrationBean() {

ServletRegistrationBeanregistration=newServletRegistrationBean(newReportServlet());

registration.setLoadOnStartup(1);

registration.addInitParameter("configFile","/WEB-INF/raqsoftConfig.xml");

registration.addInitParameter("headless","none");

registration.setName("reportServlet");

registration.addUrlMappings("/reportServlet");

ServletMappings.mappings.put("com.raqsoft.report.view.ReportServlet","/reportServlet");

System.out.println("润乾servlet注册完成");

returnregistration;

}

}

这样就可以完成润乾的reportServlet的注册,本例只介绍润乾V5集成到springBoot中的核心操作,所以只需要这一个servlet即可,其他servlet、Filter、Listener等按照相应的方法添加即可。

4、制作测试报表放到src/main/webapp/WEB-INF/reportFiles目录下。

5、重启工程,在浏览器中访问:http://localhost:8080/reportJsp/showReport.jsp?rpx=test.rpx,即可展现报表,如图:

至此,润乾V5集成到springBoot成功。

PS:工程启动后,日中中可能有错误信息:

INFO: Error in building

org.jdom.JDOMException: Error in building

at org.jdom.input.SAXBuilder.build(SAXBuilder.java:373)

at org.jdom.input.SAXBuilder.build(SAXBuilder.java:673)

at com.raqsoft.report.view.ServletMappings.read(Unknown Source:23)

at com.raqsoft.report.view.ReportServlet._$1(Unknown Source:1403)

at com.raqsoft.report.view.ReportServlet.loadConfig(Unknown Source:641)

at com.raqsoft.report.view.ReportServlet.loadConfig(Unknown Source:155)

at com.raqsoft.report.view.ReportServlet.init(Unknown Source:138)

原因:润乾原来部署方式一般是按照java web应用方式部署,所以需要web.xml,润乾的程序中会找该文件,而springBoot中不需要该文件,所以虽说报表能够正常展现,但是后台会有错误,解决办法:

1、随便弄个web.xml放到WEB-INF下

2、替换最新版raqsoftReport.jar(2018年3月份之后的,找润乾客服获取)

总结:润乾V5部署在springBoot上和和他常见部署最大的不同就是servlet的加载,在springBoot中要通过程序加载相应的servlet,加载方式也有多种,到时候根据实际情况进行设置即可。

润乾V5与springBoot集成相关推荐

  1. 润乾V5与Java项目集成开发(1)

    1.安装润乾V5报表 2.进入安装目录D:\raqsoft\report5\web\webapps\demo,复制除web-inf文件夹外所有文件及文件夹 3.粘贴到项目webapp下 4.进入web ...

  2. 润乾V5打印完成后事务处理

    问题:润乾V5打印完成后需要做特定业务操作,如关闭浏览器窗口或者做其他操作.解决办法:在显示报表的jsp中增加js函数:function raqsoft_printOver(){// alert(&q ...

  3. 润乾V5部署url应用名为空applet无法打印解决方案

    在部署报表应用时,为了访问方便,有可能会去掉应用名,比如将应用直接放到tomcat/webapps/ROOT下,这样访问报表时URL为: http://127.0.0.1:8080/reportJsp ...

  4. 润乾V5手机报表说明文档

    1.手机报表实例页面简要说明 index.jsp 是报表资源列表页面: mbReport.jsp 是报表展现页面: mbParam.jsp是参数报表展现页面: echarts.jsp是带有echart ...

  5. 润乾报表制作折叠报表

    对数据进行分类,并以一定方式进行汇总统计,但当数据量稍多,或分组的层级过多是看着就比较烦乱,通过折叠报表的方式可以将分类汇总的数据一目了然的展现.润乾V5集算报表提供了两种类型的折叠报表:树型折叠报表 ...

  6. 润乾集算器与帆软报表集成 (直接通过 jdbc,类 DB 存储过程方式调用)

    集算器概述 集算器作为一种大数据计算工具,不仅在润乾产品体系中能发挥它的巨大作用,在其他绝大部分数据处理.数据计算领域的项目.产品中,也都有他助力计算的身影.比如传统的报表工具,报表项目中,80% 的 ...

  7. 将润乾报表集成到开发环境中

     很多刚刚接触润乾报表的客户在使用过程中,会遇到一个比较头疼的问题,就是如何将制作好的报表继承到自己的开发环境中.下面以myEclipse为例,搭建一个简单的集成润乾报表的开发环境. 首先,打开m ...

  8. 润乾报表CookBook与使用

    part1 1. 数据源相关 1.1 报表工具连接文本数据 1.2 报表工具连接非关系数据库(待补充) 1.3 报表异构数据源关联混算 1.4 报表工具 json 数据源 1.5 报表工具连 sap ...

  9. 报表工具对比之润乾报表与锐浪报表对比

    目前市场上报表工具五花八门,国内的.国外的.开源的.收费的,让人不免有眼花缭乱之感.本文将简单地从报表设计.数据处理.数据填报.数据分析.集成调用几方面对大家使用的比较多的润乾报表和锐浪报表(Grid ...

最新文章

  1. 如何衡量一个项目的交付质量???
  2. python输出word内容_Django输出word文件(.doc),只在内容中显示原始html
  3. php数组交集 效率,PHP数组交集的优化
  4. python中的列表,添加元素,获取元素,删除元素,列表分片,常用操作符
  5. “约见”面试官系列之常见面试题之第八十三篇之node.js理解(建议收藏)
  6. Python学习笔记——变量和字符串
  7. Google发布中文名称“谷歌”
  8. vue-cli3使用vue-router 使用动态路由,在刷新页面时报错
  9. 科技文献检索(五)——检索原理
  10. PHP手机网店管理系统
  11. 咋让计算机名字改为办公用计算机,让电脑变成历史:三星DeX将三星S8变成“办公电脑”...
  12. vue3缓存页面keep-alive+路由统一处理
  13. VSCode(Visual Studio Code) 在Python中,自动提示函数选中后带括号设置
  14. 韩剧机器人题材的_有这九部题材不同风格各异的韩剧,你这个冬天可不会剧荒了...
  15. 开源框架springboot-mybatis-wr-separation实现springboot+mybatis读写分离
  16. 如何在2周内交付85%以上需求?阿里工程师这么做
  17. navigation导航框架
  18. 计算机主机与显示器的接口是,电脑显示器的接口有哪些类型和区别
  19. 关于测试用例之一的白盒测试
  20. π161E60 Pai161E60 5.0kVrms 200Mbps 六通道数字隔离器代替纳芯微数字隔离NSi8261W0

热门文章

  1. cooki与session区别
  2. 机器人佐德_恐龙战队:忍者超级佐德,战斗机甲设定图太帅
  3. 微信开发者小程序基础
  4. 2022暑期实习笔试题总结(网易,华为,360,美团)
  5. Vnode到真实DOM是如何转变的?
  6. 【软考 系统架构设计师】企业信息化战略与实施③ 政府信息化与电子政务
  7. libsodium linux,$$服务端安装libsodium支持chacha20 | 厘米天空
  8. 【附源码】Java计算机毕业设计高校奖学金评定管理系统(程序+LW+部署)
  9. 荣耀9xpro能升鸿蒙吗,荣耀9X也有份,鸿蒙升级计划曝光,麒麟710也支持
  10. 雷鸣解答现场提问:如何解决硬件崩溃问题