FineReport报表使用

FineReport报表是帆软公司推出的可以嵌入java的免费报表。
FineReport有2部分组成,一有c/s端的报表工具制作cpt结尾的报表文件;二是 java调用报表的web程序。
这里主要说web程序的使用。
Struts2与Servlet共存问题:
理论上二者是无法共存的,因为Struts2的拦截器StrutsPrepareAndExecuteFilter如果配置为
<filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
在访问Servlet时会拦截到,误认为Servlet是一个Action。
处理方法:
1、配置Struts的<filter-mapping>访问路径,这Servlet还正常配置。
<filter-mapping>  
<filter-name>struts2</filter-name>  
<url-pattern>*.action</url-pattern> 
</filter-mapping> 
<filter-mapping>  
<filter-name>struts2</filter-name>  
<url-pattern>*.jsp</url-pattern> 
</filter-mapping> 
<filter-mapping>  
<filter-name>struts2</filter-name>  
<url-pattern>/user/*</url-pattern> 
</filter-mapping>
2、在Struts2的配置文件中添加如下代码。
<constant name="struts.action.extension" value="action"></constant>
1、直接部署到web service中,通过链接调用报表。
安装完FineReport报表后,在安装路径文件夹下有WebReport文件夹,这个文件夹就是FineReport的java调用程序。
制作好的报表文件存放在WebReport\WEB-INF\reportlets路径下。
通过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>
访问路径:http://localhost:8075/WebReport/ReportServer?reportlet=WorkBook13.cpt
2、嵌入到程序中
1. 描述
由报表应用目录结构章节可知,若希望将报表部署到已有的工程中时,需要按照下图所示的目录结构,将报表相关的文件拷贝到相应目录:
 
2. 复制目录编辑
2.1 全部复制
为了简便,可以直接将%FineReport_HOME%\WebReport\WEB-INF目录下面的classes,lib,plugins,reportlets,resources五个目录复制到%Tomcat_HOME% \webapps\jsp-examples\WEB-INF下。
注意:%FineReport_HOME%\WebReport\WEB-INF\classes文件夹下面可能会放置一些网络报表的class文件,在和您的工程集成时并无冲突。有关网络报表的介绍,可以在二次开发文档中找到。
2.2 部分复制
也可以选择性的只复制必要性文件至已有工程中。
1)必须复制的文件
fr-chart-8.0.jar、fr-core-8.0.jar、fr-performance-8.0.jar、fr-platform-8.0.jar、fr-report-8.0.jar:包含了报表服务的所有功能,必须拷贝至WEB-INF\lib下;
fr-third-8.0.jar:包含了报表服务引用的第三方插件,必须拷贝至WEB-INF\lib下;
plugin-com.fr.plugin.mdnl-0.jar、plugin-com.fr.plugin.mdnl-1.jar、plugin-com.fr.plugin.mdnl-2.jar、plugin-com.fr.plugin.oldui-1.jar、plugin-com.fr.plugin.sap-0.jar、plugin-com.fr.plugin.sap-3.jar等plugin开头的jar:包含了报表插件管理里安装的所有插件,必须拷贝至WEB-INF\lib下;
plugins:该文件夹包含了报表管理里安装的所有插件的jar包和配置信息,拷贝至WEB-INF下面。
reportlets:该文件夹为FineReport服务器规定的,不能修改,且必须为小写,其下可以建立子目录,所有报表模板cpt文件必须保存在reportlets文件夹下,且reportlets文件必须放在WEB-INF下面;
resources:该文件夹也是FineReport服务器规定的,不能修改,且必须为小写,下面包含了报表服务器的配置信息,拷贝至WEB-INF下面。
以上文件或文件夹是必须拷贝到已有应用目录下的。
2)选择性复制的文件
classes:该文件夹是应用服务器规定的,主要作用是存放.class文件。若对FineReport进行了二次开发,如自定义函数、程序数据源、程序网络报表等,也需要将编译后的class类文件拷贝到该文件夹下;
数据库驱动包:若报表中使用了JDBC连接了数据库,需要将对应的数据库驱动包如Oracle数据库的驱动ojdbc14.jar拷贝到WEB-INF\lib下,其他数据库驱动同样;
3. 修改web.xml文件编辑
在已有工程的web.xml中添加相应的servlet与servlet-mapping子元素。
将%FineReport_HOME%/WebReport/WEB-INF下的web.xml中如下的部分复制到%Web_home%/webapps/Web工程名/WEB-INF下的web.xml中,在最后一个servlet之后插入:
1.    <servlet>  
2.        <servlet-name>ReportServer</servlet-name>  
3.        <servlet-class>com.fr.web.ReportServlet</servlet-class>  
4.        <load-on-startup>0</load-on-startup>  
5.    </servlet>  
6.    <servlet-mapping>  
7.        <servlet-name>ReportServer</servlet-name>  
8.        <url-pattern>/ReportServer</url-pattern>  
9.    </servlet-mapping>  
 
如上代码复制放到如下目录下面的配置文件里面结果如下:
 
注:web.xml中对于元素出现的顺序敏感。servlet必须出现在servlet-mapping标志之前。所有将所有servlet集合放置在servlet-mapping之前以便于管理与程序调用。
4. 检测是否部署成功编辑
可以通过浏览报表确定是否部署成功。
重新启动Tomcat, 启动浏览器,在地址栏输入
http:/ip:服务器端口号/项目所在目录/ReportServer,能成功进入下图所示页面,则表明FineReport应用集成web应用并部署Tomcat服务器成功:

 

转载于:https://www.cnblogs.com/gynbk/p/6561514.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值