欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
FineReport企業(yè)集成系統案例集之一

.net系統獲取報表值


1. 問(wèn)題描述

.net系統,怎么實(shí)現跨平臺獲取報表里面單元格的值,并對值進(jìn)行計算呢?

2. 解決方案

通過(guò)Axis2將一個(gè)java類(lèi)(實(shí)現了獲取報表里面單元格的值)部署成一個(gè)WebService,非java系統如.net系統通過(guò)URL訪(fǎng)問(wèn)該WebService,獲取到報表里某單元格的值。

WebService:是一個(gè)應用組件,能夠為其他應用程序提供數據與服務(wù)。其他應用程序通過(guò)Internet來(lái)訪(fǎng)問(wèn)并使用這項在線(xiàn)服務(wù)。

Axis2:是WebService的框架,用于建立和部署WebServices。

3. 實(shí)現步驟

下面以部署到Tomcat服務(wù)器為例:

3.1 安裝Axis2

下載axis.2.war文件,放到%tomcat_home%\webapps下。重新啟動(dòng)tomcat服務(wù)器,會(huì )在webapps目錄下生成axis2文件夾。在瀏覽器地址欄中輸入http://localhost:8080/axis2/,出現如下圖效果,則表示Axis2安裝成功。


3.2
編寫(xiě)java類(lèi)獲取報表單元格的值

下面我們來(lái)實(shí)現一個(gè)簡(jiǎn)單的Finereport類(lèi),通過(guò)參數來(lái)獲取報表gettingstarted.cpt里面第幾行第幾列單元格的值,并把值轉換成double類(lèi)型,代碼如下:

1.     import java.io.File;     

2.     import java.io.FileNotFoundException;     

3.     import com.fr.base.FRContext;     

4.     import com.fr.base.dav.LocalEnv;     

5.     import com.fr.report.ResultReport;     

6.     import com.fr.report.ResultWorkBook;     

7.     import com.fr.report.WorkBook;     

8.     import com.fr.report.io.TemplateImporter;     

9.          

10.  public class Finereport {     

11.      public double createnumber(int col,int row) throws FileNotFoundException, Exception {     

12.          double r = 0;     

13.          try {     

14.              // 讀取模板     

15.              File cptfile = new File(     

16.                      "D:\\FineReport_6.5.4\\WebReport\\WEB-INF\\reportlets\\gettingstarted.cpt");     

17.              TemplateImporter tplimp = new TemplateImporter();     

18.              WorkBook workbook = tplimp.generateWorkBook(cptfile);     

19.              /*   

20.               * 生成參數map,注入參數與對應的值,用于執行報表 該模板中只有一個(gè)參數country,給其賦值China   

21.               * 若參數在發(fā)送請求時(shí)傳過(guò)來(lái),可以通過(guò)req.getParameter(name)獲得   

22.               * 獲得的參數put進(jìn)map中,paraMap.put(paraname,paravalue)   

23.               */     

24.              java.util.Map paraMap = new java.util.HashMap();     

25.              paraMap.put("province""江蘇");     

26.              // 首先需要定義執行所在的環(huán)境,這樣才能正確讀取數據集信息     

27.              String envPath = "D:\\FineReport_6.5.4\\WebReport\\WEB-INF";     

28.              FRContext.setCurrentEnv(new LocalEnv(envPath));     

29.              // 使用paraMap執行生成結果     

30.              ResultWorkBook result = workbook.execute(paraMap);     

31.              // 使用結果如轉換成double     

32.              ResultReport rt = result.getResultReport(0);     

33.              String s = rt.getDefaultBlock().getCellValue(col-1, row-1).toString(); //通過(guò)參數獲取報表某列某行的值,由于colrow是從0開(kāi)始的,因此要將參數的值-1。   

34.              r = Double.valueOf(s).doubleValue();     

35.              return r;     

36.          } catch (Exception e) {     

37.              e.printStackTrace();     

38.          }     

39.          return r;     

40.      }     

41.  }  



編譯
Finereport.java類(lèi),生成Finereport.class類(lèi)文件。

3.3 POJO方式發(fā)布WebService

把報表環(huán)境下面的fr-server-6.5.jar包和fr-third-6.5.jar包放到%tomcat_home%\webapps\axis2\lib下;在%axis2%\WEB-INF下新建pojo文件夾;在pojo文件夾里放入剛定義的Finereport.class類(lèi)文件,就將Finereport類(lèi)發(fā)布成了WebService。

3.4 .net系統中訪(fǎng)問(wèn)WebService

.net系統中直接調用URLhttp://localhost:8080/axis2/services/Finereport/createnumber?col=4&row=5即獲取第四列第五行的值,(其中Finereport為調用的類(lèi)名,createnumber為類(lèi)里面的方法名)訪(fǎng)問(wèn)成功就可以獲取到模板的值了,如下圖:

FineReport與上海普元集成方案


1. 上海普元EOS Studio介紹

客戶(hù)使用EOS Studio跟報表服務(wù)器集成,EOS Studio是基于J2EE、Eclipse等開(kāi)放的技術(shù)和平臺是高性能的開(kāi)發(fā)工具,圖形化的SOA服務(wù)設計與服務(wù)裝配:支持Top-Down模式的服務(wù)設計、裝配與實(shí)現,也支持Bottom-Up模式的先實(shí)現功能,再封裝為服務(wù)的模式;因此可以跟我們報表進(jìn)行緊密集成。

2. FineReport與上海普元集成步驟

2.1 復制目錄

把我們的報表%FineReport_HOME%\WebReport\WEB-INF目錄下面的reportlets,resources文件夾拷貝到EOS Studioapache-tomcat-5.5.20\webapps\eos-default\WEB-INF安裝目錄下。把classes下面的類(lèi)和lib下面的fr-server-6.5.jar,fr-third-6.5.jar文件放到項目里面的classes文件和lib文件里面。

2.2 整合web.xml文件

只需要在已有工程的web.xml中添加相應的servletservlet-mapping子元素。將%FineReport_HOME%/WebReport/WEB-INF下的web.xml中的部分復制到項目安裝目錄下的web.xml中,在最后一個(gè)servlet之后插入:具體可參考tomcat服務(wù)器文檔章節。

2.3 模板集成

EOS Studio項目中的jsp頁(yè)面,把我們的報表嵌套進(jìn)去,就可以通過(guò)iframe的形式實(shí)現,集成代碼放到之上,代碼如下:

1.     <iframe id="reportFrame" src="/eos-default/ReportServer?reportlet=reportlet=/gettingstarted.cpt " width = 100% height = 80%></iframe>   


重新啟動(dòng)
EOS server, 啟動(dòng)瀏覽器,在地址欄輸入訪(fǎng)問(wèn)自己的項目地址如下,成功訪(fǎng)問(wèn)到報表內容就部署成功了:http://127.0.0.1:8080/eos-default/com.primeton.sample.AabbMaintain.flow。


3. FineReport
與上海普元集成類(lèi)沖突解決方案


客戶(hù)的
eos-access-http.jar與我們fr-third-6.5中的 XMLOutputFactory.class沖突導致,把fr-third-6.5/javax/xml/stream/XMLOutputFactory.class刪除這個(gè)類(lèi)和fr-third-6.5/meta-inf文件就可以解決類(lèi)沖突問(wèn)題。

金蝶服務(wù)器的部署


在金蝶Apusic應用服務(wù)器上部署FineReport應用的步驟,如下分為手動(dòng)部署和運用管理控制臺部署的兩種方式。以下我們以Apusic-6.0為例講解。

1. 實(shí)現步驟

1.1 手動(dòng)部署FineReport

創(chuàng )建工程

FineReport_6.5安裝目錄下的WebReport文件拷貝到%Apusic-6.0_HOME%\domains\mydomain\applications下,即完成了獨立部署。


應用名
WebReport可以根據需要改變,如:可以改為“FineReport”

1.2 瀏覽效果

啟動(dòng)金蝶Apusic應用服務(wù)器,等待服務(wù)就緒后,然后啟動(dòng)瀏覽器,在地址欄中輸入http://localhost:6888/WebReport/ReportServer?reportlet=gettingstarted.cpt ,

能成功訪(fǎng)問(wèn)到報表,則表明FineReport應用部署成功: 


1.3
運用管理控制臺部署FineReport

打開(kāi)金蝶Apusic應用服務(wù)器管理控制臺

啟動(dòng)金蝶Apusic應用服務(wù)器,在瀏覽器中輸入http://localhost:6888/admin,登陸管理控制臺,用戶(hù)名和密碼均為admin。

登陸之后,展開(kāi)J2EE應用,可以看到之前已經(jīng)手動(dòng)部署好的WebReport應用。


點(diǎn)擊部署,通過(guò)控制臺部署一個(gè)新的工程,工程命名為
WR。  


選擇
FineReportWebReport工程的位置,如C:\ FineReport 6.5,選定WebReport工程后,點(diǎn)擊“ 確認 ”。

再點(diǎn)擊完成,即可看到部署好的WR工程。       


1.4
瀏覽報表

啟動(dòng)瀏覽器,在地址欄輸入http://localhost:6888/WR/ReportServer?reportlet=gettingstarted.cpt ,能成功訪(fǎng)問(wèn)到報表,則表明FineReport應用部署成功:    

部署在Linux金蝶服務(wù)器下的問(wèn)題解決方案


1. 問(wèn)題描述:

FineReport部署在Linux金蝶服務(wù)器下,服務(wù)器開(kāi)啟,訪(fǎng)問(wèn)報表報錯,報錯信息如下:

Http Status 500  

500 內部服務(wù)器錯誤

服務(wù)器遇到了一個(gè)內部錯誤而無(wú)法完成請求。

java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit

2. 分析:

如上錯誤的意思是什么?為什么會(huì )發(fā)生如上這種錯誤呢?

報如上的錯誤是因為找不到awt相關(guān)的包,而awt(即抽象窗口工具包),是一個(gè)用于實(shí)現圖形用戶(hù)界面的類(lèi)庫。

出現如上錯誤的原因是:在linux下,用的是linux操作系統所提供的圖形庫。由于不同的操作系統的圖形庫所提供的功能是不一樣的(在Windows系統下是有AWT的)。所以在linux下,服務(wù)器使用的JDK是沒(méi)有awt相關(guān)的包,而這里FR在運行調用工程的時(shí)候,需要awt的相關(guān)包的。因此,需要在linux下加入awt的圖形用戶(hù)界面的相關(guān)類(lèi)。

注意:由于不同的操作系統的圖形庫所提供的功能是不一樣的,在一個(gè)平臺上存在的功能在另外一個(gè)平臺上則可能不存在。

3. 解決方案:

打開(kāi)金蝶服務(wù)器文件夾C:\Apusic-6.0\bin下找到setenv文件。

打開(kāi)之后,配置好JAVA_HOME變量,并添加下圖中框選的兩行配置信息:JAVA_OPTS=-Dfile.encoding=UTF-8 -Djava.awt.headless=trueexport JAVA_OPTS


修改完配置文件之后,重啟服務(wù)器即可。

 

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
報表工具FineReport新版本參數全攻略
FineReport做好的報表部署在Tomcat(服務(wù)器)里(Windows版)
TOMCAT+AXIS進(jìn)行WEBSERVICE開(kāi)發(fā)的配置和HELLOWORLD程序_楊廣淵
iframe跨域單點(diǎn)登陸
Axis2開(kāi)發(fā)WebService客戶(hù)端 的3種方式與wsdl2java的用法
WebService之a(chǎn)xis2詳解
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久