隨筆-0  評論-3  文章-28  trackbacks-0

          我使用的開發IDE是eclipse3.2,服務器是tomcat5.5

          新建一個 Crystal reports web項目

          在Target runtime選擇apache tomcat v5.5

          下一步中crystal reports java reporting component、dynamic web module、java是默認選中的,這三個是必需的,你也可添加struts,后面的設置會要求你添加struts的類庫。在最后面默認加入示例的數據庫和報表。

          這樣一個Crystal Reports web項目就建立了(上面的步驟應該是地球人都可以完成吧)

          在里面有個CrystalReport1.rpt和CrystalReport_viewer.jsp

          右鍵CrystalReport_viewer.jsp->運行方式->Run on Server,點擊完成。

          你應該就可以看到一個空的水晶報表了吧(為什么空的,當然啦,CrystalReport1.rpt本身是空的)

          在看看sample reports文件夾里面,有4個示例的.rpt報表文件,右擊其中任何一個,選中Crystal Reports-》創建查看器JSP,就會創建一個*-viewer.jsp文件。運行這個文件,你應該可以看到一個水晶報表了吧。

          我想這對大部分人應該都是沒有問題的,剩下的事情就是好好分析這個項目里面所有的東東了

          -------------------------------------------------------------------------------------------------------------------------------------------------------

          上面什么東西是在任何項目中實現都必須的呢?為此我特意建立一個新的tomcat項目,最好建一個簡單的jsp頁面測試下你的tomcat項目是否可以正常運行.

          通過本人的實驗,在其他項目中JSP運行水晶報表的話,需要的類文件跟配置.

          1. 添加一個用戶庫如 CrystalReports Libraries,把下面的*.jar添加進去

          commons-collections-3.1.jar,commons-configuration-1.2.jar,
          commons-lang-2.1.jar,
          commons-logging.jar,
          Concurrent.jar,
          CrystalCharting.jar
          CrystalCommon.jar
          CrystalContentModels.jar
          CrystalDatabaseConnectors.jar
          CrystalExporters.jar
          CrystalExportingBase.jar
          CrystalFormulas.jar
          CrystalQueryEngine.jar
          CrystalReportEngine.jar
          CrystalReportingCommon.jar
          derby.jar
          icu4j.jar
          jrcadapter.jar
          jrcerom.jar
          keycodeDecoder.jar
          log4j.jar
          MetafileRenderer.jar
          msbase.jar
          mssqlserver.jar
          msutil.jar
          rasapp.jar
          rascore.jar
          ReportPrinter.jar
          rpoifs.jar
          serialization.jar
          URIUtil.jar
          webreporting.jar
          webreporting-jsf.jar
          xercesImpl.jar
          xml-apis.jar
          Xtreme.jar

          (總共36個jar,里面有一些在其他的庫已經有的了,在項目中添加這個自定義庫就行了)

           

          2. 把上個例子中的crystalreportviewers文件夾放在WEB-INF文件夾同一目錄下。這個就是你能看到水晶報表的基本框架,相當于.net里面的水晶報表控件了的源代碼了。

          3. 把crystal-tags-reportviewer.tld放在WEB-INF下,主要標簽

           

          4. web.xml 在<web-app>中間添加,主要是讀入crystalreportviewers

              <context-param>
              
          <param-name>crystal_image_uri</param-name>
              
          <param-value>crystalreportviewers</param-value>
              
          </context-param>
              
          <context-param>
                  
          <param-name>crystal_image_use_relative</param-name>
                  
          <param-value>webapp</param-value>
              
          </context-param>

           

          5. 把CRConfig.xml放在src文件夾下,水晶報表的配置文件,如果你有注冊,注冊碼也會在這文件里面

          CRConfig.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <CrystalReportEngine-configuration>
              
          <reportlocation>../..</reportlocation>
              
          <timeout>0</timeout>
              
          <ExternalFunctionLibraryClassNames>
               
          <classname/>
              
          </ExternalFunctionLibraryClassNames>
          </CrystalReportEngine-configuration>
          配置超時間隔

          利用 CRConfig.xml 文件,您可以配置確定何時丟棄不活動報表源的超時間隔(以分鐘為單位)。這是必要的,因為不活動報表源仍然會消耗系統資源(如數據庫連接、服務器內存以及臨時文件使用的磁盤空間)。可以通過在 CRConfig.xml 文件中設置 timeout 標記的值來指定超時間隔。默認情況下,超時間隔為 10 分鐘。通過將該值設置為 0,可以將 Java Reporting Component 配置為沒有超時。

          超時間隔僅適用于不活動報表 -- 正在處理的報表不會因超出此值而超時。每次成功完成一個報表源請求時,超時定時器將會重置。如果在超時間隔內沒有使用某個報表源,則會丟棄該報表源,并將其資源提供給其他進程使用。

          6.   在jsp頁面插入這段代碼

          <%@ taglib uri="/crystal-tags-reportviewer.tld" prefix="crviewer" %>
          <crviewer:viewer reportSourceType="reportingComponent" viewerName="rcname-viewer" reportSourceVar="rcname" isOwnPage="true">
          <crviewer:report reportName="rcname.rpt" />
          </crviewer:viewer>

          感覺像在用.net里面的水晶報表控件一樣,不只viewer,連partviewer也可以的.

          posted on 2008-03-28 16:46 閱讀(901) 評論(0)  編輯  收藏 所屬分類: java基礎
          主站蜘蛛池模板: 乐都县| 精河县| 波密县| 安义县| 错那县| 呼和浩特市| 句容市| 松江区| 黎川县| 郧西县| 新野县| 蒙城县| 汽车| 台山市| 林口县| 大厂| 潼南县| 墨江| 安陆市| 天镇县| 沂南县| 土默特左旗| 水富县| 体育| 徐汇区| 苍南县| 新安县| 阳朔县| 紫金县| 毕节市| 开鲁县| 太谷县| 苏尼特左旗| 根河市| 阳泉市| 喀什市| 上思县| 连江县| 鹤岗市| 正宁县| 鄄城县|