电子表格FineReport教程:[5]报表部署流程

2025-11-18 02:20:08

1、web应用的目录结构

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

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

电子表格FineReport教程:[5]报表部署流程

2、独立部署

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

3、嵌入式部署

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

1、发布应用

应用通常以文件夹或war包得形式发布,Web应用服务器不同,发布方式不同:

如Tomcat服务器只需要将Web应用拷贝到%FR_HOME%\webapps目录下,重启tomcat即发布成功;

而Websphere服务器需要先将Web应用打成war包,然后在websphere控制台进行配置发布。

各个服务器下部署报表应用我们会在下面章节中详细介绍。

2、独立部署(发布)

部署就是将FineReport应用集成到新的Web工程

把FineReport_7.1安装目录下的WebReport文件拷贝到%Tomcat_HOME%/webapps/下:

应用名WebReport可以根据需要改变,如可以改为“FineReport”。

电子表格FineReport教程:[5]报表部署流程

3、访问报表

报表应用发布(部署)成功后,便可以在客户端浏览器中访问了。

在客户端浏览器中输入访问地址http://ip:端口/appName/ReportServer?reportlet=GettingStarted.cpt,发送请求给Web应用服务器如tomcat;

Web应用服务器会将请求信息发送给报表servlet;

报表servlet根据请求信息,如获取希望查看的模板名称reportlet=GettingStarted.cpt,在后台计算生成GettingStarted.cpt的内容,返回给Web应用服务器;

最后Web应用服务器将结果返回给客户端浏览器,浏览器将报表结果呈现给我们。

注:若Web应用服务器可以在外网进行访问,那么我们就可以外网访问报表了。

1、描述

由报表应用目录结构章节可知,若希望将报表部署到已有的工程中时,需要按照下图所示的目录结构,将报表相关的文件拷贝到相应目录:

电子表格FineReport教程:[5]报表部署流程

2、复制目录

全部复制

为了简便,可以直接将%FineReport_HOME%\WebReport\WEB-INF目录下面的classes,lib,reportlets,resources四个目录复制到%Tomcat_HOME% \webapps\jsp-examples\WEB-INF下。

注意:%FineReport_HOME%\WebReport\WEB-INF\classes文件夹下面可能会放置一些网络报表的class文件,在和您的工程集成时并无冲突。

3、部分复制

也可以选择性的只复制必要性文件至已有工程中。

必须复制的文件

fr-server-7.1.jar:包含了报表服务的所有功能,必须拷贝至WEB-INF\lib下;

fr-third-7.1.jar:包含了报表服务引用的第三方插件,必须拷贝至WEB-INF\lib下;

reportlets:该文件夹为FineReport服务器规定的,不能修改,且必须为小写,其下可以建立子目录,所有报表模板cpt文件必须保存在reportlets文件夹下,且reportlets文件必须放在WEB-INF\下;

resources:该文件夹也是FineReport服务器规定的,不能修改,且必须为小写,下面包含了报表服务器的配置信息,拷贝至WEB-INF下面。

以上文件或文件夹是必须拷贝到已有应用目录下的。

选择性复制的文件

classes:该文件夹是应用服务器规定的,主要作用是存放.class文件。若对FineReport进行了二次开发,如自定义函数、程序数据源、程序网络报表等,也需要将编译后的class类文件拷贝到该文件夹下;

数据库驱动包:若报表中使用了JDBC连接了数据库,需要将对应的数据库驱动包如Oracle数据库的驱动ojdbc14.jar拷贝到WEB-INF\lib下,其他数据库驱动同样;

4、 修改web.xml文件

在已有工程的web.xml中添加相应的servlet与servlet-mapping子元素。

将%FineReport_HOME%/WebReport/WEB-INF下的web.xml中如下的部分复制到%Web_home%/webapps/Web工程名/WEB-INF下的web.xml中,在最后一个servlet之后插入:

<servlet>

<servlet-name>ReportServer</servlet-name>

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

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

</servlet>

<servlet-mapping>

<servlet-name>ReportServer</servlet-name>

<url-pattern>/ReportServer</url-pattern>

</servlet-mapping>

5、如上代码复制放到如下目录下面的配置文件里面结果如下:

注:web.xml中对于元素出现的顺序敏感。servlet必须出现在servlet-mapping标志之前。所有将所有servlet集合放置在servlet-mapping之前以便于管理与程序调用。

电子表格FineReport教程:[5]报表部署流程

6、检测是否部署成功

可以通过浏览报表确定是否部署成功

重新启动Tomcat, 启动浏览器,在地址栏输入

http:/ip:服务器端口号/项目所在目录/ReportServer,能成功进入下图所示页面,则表明FineReport应用集成web应用并部署Tomcat服务器成功:

电子表格FineReport教程:[5]报表部署流程

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢