zoukankan      html  css  js  c++  java
  • Crystal Reports 本地方式Web端显示

    1.安装Crystal Reports XI。
    2.从以下两个目录下复制JAR包到你开发的Web程序里面
        从目录1:<安装盘符>:\Program Files\Common Files\Crystal Decisions\3.0\java\lib
             目录2:<安装盘符>:\Program Files\Common Files\Crystal Decisions\3.0\java\lib\external
        到你开发的WebRoot/lib目录中
    3.在<安装盘符>:\Program Files\Common Files\Crystal Decisions\3.0\下复制crystalreportviewers11到你开发的WebRoot目录中,和WEB-INF目录是等级的。
    4.打开WebRoot的WEB_INF目录下的web.xml,在web-app里面添加
        <context-param>
        <param-name>crystal_image_uri</param-name>
        <param-value>crystalreportviewers10</param-value>
        </context-param>
        这里要说明一下,如果是水晶报表10的话,对应的viewers是crystalreportviewers10,如果是水晶报表XI,对应的viewers是crystalreportviewers11,如果是水晶报表XI R2,对应的viewers是crystalreportviewers115。
    5.:<安装盘符>:\Program Files\Common Files\Crystal Decisions\2.5\java里面有一个配置文件CRConfig.xml,如果现在在开发环境,可以把CRConfig复制到src根目录下,这样在部署的时候会直接放入WEB-INF/classes目录下。如果是部署环境,就直接放入WEB_INF/classes目录下。
    6.然后打开CRConfig.xml文件,把“reportlocation” 元素从“../..”改为 “..”。这个是说明报表的根目录,是相对该参数配置文件而言。如果是“..”,则在classes目录的上一级目录,就是在WEB-INF目录下。如果是“../..”,则在WEB-INF目录的上一级目录,就是在WebRoot目录下。为什么要作这样的修改?这样可以防止别人获取rpt格式的报表文件。具体的内容如水晶报表样例文件中所提到
        This will allow you to “hide” the Crystal Reports .rpt file in the WEB-INF directory, where it will not be directly browsable by the end user of your application. You could also hide them in /WEB-INF/classes or /WEB-INF/lib, or any other directory under WEB-INF, so long as you modify the config file accordingly.
    7.把报表文件放到WEB-INF目录下,如果该报表需要连接同一目录下的数据库,把数据库也copy进去。例如我在建例子的时候使用ADO方式连接access就需要把access目录放进去。
    8.在WebRoot目录下建立一jsp,例如:basic.jsp,内容如下
    <%@ page language="java" pageEncoding="gb2312"%>
    <%@ page import="com.crystaldecisions.reports.reportengineinterface.*"%>
    <%@ page import="com.crystaldecisions.report.web.viewer.*" %>
    <%
     CrystalReportViewer crv = new CrystalReportViewer();
     JPEReportSourceFactory jrsf = new JPEReportSourceFactory();
     crv.setReportSource(jrsf.createReportSource("hr.rpt",request.getLocale()));
     crv.processHttpRequest(request,response,application,null);
     %>
    第一行主要是为了让报表能够显示中文字而添加的,把默认的UTF编码改为gb2312编码。
    9.把Web Application部署好后,例如在tomcat下。打开浏览器,键入:http://localhost:8080/<Web Application的名字>/basic.jsp。

        我原来是参考官方教程来做的,发现还是有很多不同的地方,调了大半天后才调通,因此写下整个过程。在实际开发中,不可能使用basic.jsp这种架构来编写程序的,还是要在java代码中调用,才能够更灵活的调用viewer。

  • 相关阅读:
    retofit、ButterKnite
    [iOS笔记]Swift中的Optional类型
    [iOS笔记] 网络通信安全与证书
    [iOS]ReactiveCocoa playground配置
    NAT学习笔记
    [iOS学习笔记]runloop runMode方法调研
    Python 装饰器简单介绍
    cookie实现自动登陆原理
    iOS开发添加Reveal工具
    【iOS Programming: The Big Nerd Ranch Guide】【笔记】2
  • 原文地址:https://www.cnblogs.com/zjblue/p/477577.html
Copyright © 2011-2022 走看看