WEBAPP开发之FineReport与Web集成
白羽 2019-01-08 来源 :网络 阅读 1017 评论 0

摘要:本文将带你了解WEBAPP开发FineReport与Web集成,希望本文对大家学WEBAPP有所帮助。

    本文将带你了解WEBAPP开发FineReport与Web集成,希望本文对大家学WEBAPP有所帮助。


               

 

报表工程目录结构

       在说明配置FineReport服务器之前,我们先了解一下FineReport应用服务的目录结构:


对上图的目录层次结构我们做一些说明:

WebReport:可以看到所有的相关文件都包含在WebReport这个服务器应用工程中,也就是说WebReport是我们默认的工程名,此项名字可以修改。

WEB-INF:WEB-INF目录是J2EE服务器中默认规定的,全称是Web   Information。

classes:classes   文件夹也是应用服务器默认规定的。主要作用是存放.class文件,例如在FineReport中,如果要使用"自定义函数","程序数据源"和"程序网   络报表"等功能,必需先使用我们提供的接口来编写.java文件,然后将编译后产生的.class文件存放到该目录下。

lib:lib 也是应用服务器规定的目录结构。FineReport该目录下主要包括fr-server-6.5.jar,第三方类的jar文件和一些常用数据库   JDBC驱动,比如ojdbc14.jar就是Oracle数据库的驱动,应用服务器在启动的时候会自动将lib目录下所有的.jar文件加载到系统的   classpath中;fr-server-6.5.jar包含了FineReport服务器的所有功能,它是由FineReport源文件编译后产生   的.class类文件。例如:Servlet类com.fr.web.ReportServlet便位于fr-server-6.5.jar中。

reportlets:reportlets是FineReport服务器默认规定的,不能修改。可以在这个目录下面建立子目录文件夹,FineReport设计器设计的模板一般都保存在这个目录或者它的子目录下面,以便FineReport服务器调用。

resources:resources   是FineReport服务器默认规定的,不能修改。下面保存了一些.xml文件,这些.xml文件里面保存着FineReport服务器的配置等信 息,FineReport服务器启动的时候,会自动加载这些.xml文件(有些xml文件不是运行必需的)。

web.xml:这个文件也是J2EE服务器所规定必须建立的,我们在此文件中定义了FineReport的SERVLET的解析路径方式,权限加载等一些内容,此文件初始配置内容如下:

1. <?xml version="1.0" encoding="UTF-8"?>    

2. <web-app xmlns="//java.sun.com/xml/ns/j2ee" xmlns:xsi="//www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="//java.sun.com/xml/ns/j2ee //java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"    version="2.4">   

3. <servlet>  

4. <servlet-name>ReportServer</servlet-name>  

5. <servlet-class>com.fr.web.ReportServlet</servlet-class>  

6. <load-on-startup>0</load-on-startup>  

7. </servlet>   

8. <servlet-mapping>  

9. <servlet-name>ReportServer</servlet-name>   

10.<url-pattern>/ReportServer</url-pattern>  

11.</servlet-mapping>  

12.</web-app>  

报表集成步骤

1、 服务器部署

FineReport报表是一个Servlet应用。大   家知道,Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。   它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web   服务器内部的服务器端的Java应用程序,由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

因此FineReport报表必须部署在Web应用服务器如Tomcat、Weblogic、Websphere等下面,启动Web应用服务器时就会加载FineReport报表这个Servlet,从而交互式地浏览和修改数据,整个过程如下:


 

报表部署分为两种,一是报表作为一个独立的应用独立部署;或者是集成到现有应用即嵌入式部署。不管哪种部署方式,他们的目录结构都是类似的。

如下图我们对未包含报表的应用及包含报表的应用目录作一个比较:


         1.1独立部署

FineReport安装目录下的WebReport目录就是一个标准的应用,因此,若用户希望将报表作为一个独立的应用进行部署的话,可以直接使用WebReport目录进行发布。

                            可通过://localhost:8080/WebReport/ReportServer?reportlet=GettingSarted.cpt访问报表


         1.2嵌入式部署

若用户希望将报表集成到自己的应用中的话,则可以对应上图“部署报表后的应用”目录结构,将对应的报表文件拷贝到相应目录即可。

              可通过://localhost:8080/appName/ReportServer?reportlet=GettingSarted.cpt访问报表

    如果报表中需要有参数的传递则可以通过一般参数传递方法进行传递,例如://localhost:8080/appName/ReportServer?reportlet=GettingSarted.cpt?id=123

2、 页面集成

用户系统的网页可能由不同的语言开发,如HTML、ASP、JSP、PHP等。FineRepor报表可以通过Frame框架集成到Web页面中,指定Frame的src即可。

例:<iframe id="reportFrame" width="900" height="400" src="/WebReport/ReportServer?reportlet=/doc/Primary/Parameter/Parameter.cpt"></iframe>  

另外页面集成中的一些常见应用:动态传参、自定义参数界面、自定义工具栏、页面布局等;可以参考FR在线帮助手册。


                           

                

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之WebApp频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程