springboot 集成润乾操作帖
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。下面介绍下一个简单的 springBoot 项目的搭建以及与润乾集成的过程。
PS:如已掌握 springBoot 工程搭建,第一部分可忽略
开发工具:myeclipse 2017
一:maven 构建 springBoot 项目
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 测试:
package com.neo.springBoot;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@RequestMapping("hello")
public String 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!”
二:集成润乾
1. 增加工程对 jsp 的支持
springBoot 默认不支持 jsp 页面展示,而报表需要通过 jsp 的 tag 标签展示,所以要在功能中增加 jsp 展示的配置。
打开 pom.xml,在里边增加:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
工程会自动加载相关的 jar 包,下载完成后,工程即可支持 jsp 文件。
2. 工程内增加 webapp 目录
在 src/main 下新建目录,目录结构如下图所示:
3. 拷贝润乾的文件到工程目录
将润乾设计器安装后产生的 demo 应用下的文件(raqsoft、reportJsp、WEB-INF 三个目录文件)复制到 webapp 下。
springBoot 不需要 web.xml,所以 web.xml 不需要复制,WEB-INF 下的 lib 目录不需要复制。
raqsoftConfig.xml 放到 src/main/resources/config(没有可以新建)目录下。
4. 增加润乾所用第三方 jar 的依赖及其他需手工引入工程的 jar
1)将 pom.xml 的依赖添加到工程内的 pom.xml
pom.zip
2)工程引入其他 jar(包括报表的核心 jar 和 maven 库没有的第三方 jar)
如 eclipse,通过 工程名上右键–Build Path——configure Build Path——Add External JARs,在弹出窗口中选择引入的 jar 包,引入除 pom.xml 中其他所有 jar 包
jar 引入时要以官网最新版本里的 jar 为准
5. 注册润乾 servlet
润乾报表需要 servlet 加载配置文件,普通 java web 应用中 servlet 是在 web.xml 中配置,但 springBoot 总并不会读取 web.xml,所以所需要的 servlet、listener、filter 都需要单独在 springBoot 中单独配置。
Spring Boot 提供了 ServletRegistrationBean,FilterRegistrationBean,ServletListenerRegistrationBean 这 3 个来进行配置 Servlet、Filter、Listener。
在工程的 conf 目录下增加注册类,如:
代码如下:
package com.test.report.conf;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.raqsoft.report.view.ReportServlet;
@Configuration
public class ReportWebConfig {
@Bean
//统计报表servlet注册
public ServletRegistrationBean servletRegistrationBean() {
ServletRegistrationBean registration = new ServletRegistrationBean(new ReportServlet());
registration.setLoadOnStartup(1);
//必须得支持reportServlet从类路径下读xml才可
registration.addInitParameter("configFile", "config/raqsoftConfig.xml");
registration.addInitParameter("headless", "none");
registration.setName("reportServlet");
registration.addUrlMappings("/reportServlet");
com.raqsoft.report.view.ServletMappings.mappings.put( "com.raqsoft.report.view.ReportServlet", "/reportServlet");
System.out.println("润乾servlet注册完成");
return registration;
}
}
这样就可以完成润乾的 reportServlet 的注册,本例只介绍润乾 V2018 集成到 springBoot 中的核心操作,所以只需要这一个 servlet 即可,其他 servlet、Filter、Listener 等按照相应的方法添加即可。
6. 测试集成效果
将制作测试报表放到 src/main/webapp/WEB-INF/reportFiles 目录下。
重启工程,在浏览器中访问:http://localhost:8080/reportJsp/showReport.jsp?rpx=test.rpx,即可展现报表,如图:
注意:高版本的 springboot 会默认带 springboot mvc 框架,所以直接访问 jsp 可能会报页面访问错误,所以需要按照 spring mvc 结构处理方式进行处理。
三:总结
润乾部署在 springBoot 上和和他常见部署最大的不同就是 servlet 的加载,在 springBoot 中要通过程序加载相应的 servlet,加载方式也有多种,到时候根据实际情况进行设置即可。
对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅
嗯,还不太了解好多乾?
集成部署后如果不能访问 webapp 下的文件,可以在 pom.xml 添加如下配置代码看看:
代码的作用是让 src/main/webapp 在编译的时候在 resoureces 路径下也生成 webapp 的文件