電子表格FineReport教程:[5]報表部署流程?

下面就通過電子表格FineReport來簡單介紹一下報表部署流程。

工具/原料

電子表格FineReport7.1.1

大小:148.2M 適用平臺:windows/linux

報表應用目錄結構

web應用的目錄結構

報表部署分為兩種,一是報表作為一個獨立的應用獨立部署;另一個是集成到現有應用即嵌入式部署。不管哪種部署方式,他們的目錄結構都是類似的。

如下圖我們對未包含報表的應用及包含報表的應用目錄作一個比較:

電子表格FineReport教程:[5]報表部署流程

獨立部署

FineReport安裝目錄下的WebReport目錄就是一個標準的應用,因此,若用戶希望將報表作為一個獨立的應用進行部署的話,可以直接使用WebReport目錄進行獨立部署。

嵌入式部署

若用戶希望將報表集成到自己的應用中的話,則可以對應上圖“部署報表後的應用”目錄結構,將對應的報表文件拷貝到相應目錄即可。

獨立部署(發佈)

發佈應用

應用通常以文件夾或war包得形式發佈,Web應用服務器不同,發佈方式不同:

如Tomcat服務器只需要將Web應用拷貝到%FR_HOME%\webapps目錄下,重啟tomcat即發佈成功;

而Websphere服務器需要先將Web應用打成war包,然後在websphere控制檯進行配置發佈。

各個服務器下部署報表應用我們會在下面章節中詳細介紹。

獨立部署(發佈)

部署就是將FineReport應用集成到新的Web工程

把FineReport_7.1安裝目錄下的WebReport文件拷貝到%Tomcat_HOME%/webapps/下:

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

電子表格FineReport教程:[5]報表部署流程

訪問報表

報表應用發佈(部署)成功後,便可以在客戶端瀏覽器中訪問了。

在客戶端瀏覽器中輸入訪問地址端口/appName/ReportServer?reportlet=GettingStarted.cpt,發送請求給Web應用服務器如tomcat;

Web應用服務器會將請求信息發送給報表servlet;

報表servlet根據請求信息,如獲取希望查看的模板名稱reportlet=GettingStarted.cpt,在後臺計算生成GettingStarted.cpt的內容,返回給Web應用服務器;

最後Web應用服務器將結果返回給客戶端瀏覽器,瀏覽器將報表結果呈現給我們。

注:若Web應用服務器可以在外網進行訪問,那麼我們就可以外網訪問報表了。

嵌入式部署

描述

由報表應用目錄結構章節可知,若希望將報表部署到已有的工程中時,需要按照下圖所示的目錄結構,將報表相關的文件拷貝到相應目錄:

電子表格FineReport教程:[5]報表部署流程

複製目錄

全部複製

為了簡便,可以直接將%FineReport_HOME%\WebReport\WEB-INF目錄下面的classes,lib,reportlets,resources四個目錄複製到%Tomcat_HOME% \webapps\jsp-examples\WEB-INF下。

注意:%FineReport_HOME%\WebReport\WEB-INF\classes文件夾下面可能會放置一些網絡報表的class文件,在和您的工程集成時並無衝突。

部分複製

也可以選擇性的只複製必要性文件至已有工程中。

必須複製的文件

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下,其他數據庫驅動同樣;

修改web.xml文件

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

將%FineReport_HOME%/WebReport/WEB-INF下的web.xml中如下的部分複製到%Web_home%/webapps/Web工程名/WEB-INF下的web.xml中,在最後一個servlet之後插入:

ReportServer

com.fr.web.ReportServlet

0

ReportServer

/ReportServer

如上代碼複製放到如下目錄下面的配置文件裡面結果如下:

注:web.xml中對於元素出現的順序敏感。servlet必須出現在servlet-mapping標誌之前。所有將所有servlet集合放置在servlet-mapping之前以便於管理與程序調用。

電子表格FineReport教程:[5]報表部署流程

檢測是否部署成功

可以通過瀏覽報表確定是否部署成功

重新啟動Tomcat, 啟動瀏覽器,在地址欄輸入

http:/ip:服務器端口號/項目所在目錄/ReportServer,能成功進入下圖所示頁面,則表明FineReport應用集成web應用並部署Tomcat服務器成功:

電子表格FineReport教程:[5]報表部署流程

教程, 流程, 表格, 報表, 電子表格,
相關問題答案