雲平台構架實訓




實訓項目 :             雲平台構架實訓                               
項目源碼獲取:      

                      https://pan.baidu.com/s/1chur51w8FjBzDqphBHOpfQ           提取碼:6rr6

 

       可將本運行說明分為三個方向:說明運行的項目是什么、如何運行,以及運行該項目有何意義?其中運行的是什么包括:項目說明與功能分析;如何運行主要包含:項目程序的實現原理和運行方式;運行意義主要是擴展分析。具體說明如下:

 

一、項目說明與功能分析

       本次實訓項目從整體而言,可分為gdms服務端工程和client客戶端工程。gdms既為服務端工程,主要包含hello 、readfile(上傳圖片文件至Tomcat容器) 和finduser(數據庫數據傳輸)。而client客戶端主要功能為,TestClient(捕獲http://172.19.36.37:8080/gdms/ws/nnxy/readfile內容,並轉化成相應的圖片文件),

TestUser(捕獲並解析出數據庫內容)。其中,gdms服務端工程目錄結構如下圖1-1所示:

 

 

                                                                         圖1-1 gdms服務端工程結構

而client客戶端工程目錄結構如下圖1-2:

                                                                               圖1-2 client服務端工程結構

 

       gdms服務端與client端主要的區別在於:gdms借助了Tomcat7的發布容器,從而致力於對文件(如:圖片文件)或數據庫內容進行數據傳輸的支持。client應用於來自服務端的數據捕獲和收集。從運行方式上來說,gdms需要來自Tomcat server的支持,而client卻僅僅是Java Application的運行方式。

 

 

二、實現原理

1)、簡要概括

     gdms通過 @Path(String) 方式提供瀏覽器進行項目的網頁瀏覽,然而之所以能夠通過瀏覽器方式進行項目的訪問,是因為gdms項目借助了Tomcat 服務進行web的發布。而client能捕獲文件和數據庫內容,是因為獲取了HttpClientPoolManager的連接管理,可通過請求從響應中獲取結果。

2)、具體細則

       具體的項目實現原理可分為:hello的實現與訪問、圖片文件傳輸和捕獲,以及數據庫數據內容傳輸和捕獲。以下將從gdms和client的角度詳細陳述:

1、hello的實現與訪問

     gdms端:首先同@Path(String) 構建瀏覽路徑,當存在行為觸發@GET時,Console將輸出hello world! 內容,以此標記項目瀏覽路徑構建的可用性。

2、圖片文件傳輸和捕獲

     gdms端:創建一個文件對象,用於獲取WEB-INF這個目錄的真實絕對路徑。構造一個文件輸入流對象,再將所有數據變成一個大數組,同時將字節數組序列化成一個字符串。不僅指定了文件類型和數據,而且輸出了異常信息。最后整體上,告訴服務器,返回的數據是json格式。

     client端:獲取了連接管理器和連接的同時,創建一個get請求並執行請求,獲取響應,最后從響應中獲取結果。重要的是,將json串解析成了一個JSON對象,再把字符串內容反序列化成字節數組,同時拼接成一張圖片類型的文件。至於關閉響應、放棄請求和釋放連接,這里不再詳述。

3、數據庫數據內容傳輸和捕獲

     gdms端:先創建一個DAO對象,再根據uid查詢數據表中的記錄。其中DAO對象為UserDao類的實例化。UserDao中,獲取數據庫連接,從而先預處理SQL語句,再執行語句,得到結果集,返回並關閉;等。最后從整體而言,構建瀏覽器訪問路徑,以及顯示類型的轉碼,即utf-8。

     client端:TestUser中,方式與圖片文件傳輸和捕獲中client操作類似,區別在於JSONObject將json串解析成一個JSON對象。同時,把結果自動轉換成一個Bean對象,而Bean對象類,卻也僅僅作為第三方轉換,如下關鍵代碼:

private List<Userinfo> list;

public List<Userinfo> getList() {return list;}

public void setList(List<Userinfo> list) {this.list = list;}

 

三、運行方式

      在Eclipse IDE中項目的運行方式較為簡單,至於項目環境的構建,此處不詳述。如對於gdms而言,直接在gdms工程名稱上鼠標右鍵 Run As\Run on Server 即可。區別在於,client為Run As\ Java Application 。

 

四、擴展分析

    既然gdms 與client能進行文件傳輸和數據庫數據內容的傳遞,那么整個項目工程將會存在兩大方向的意義:

       其一,倘若將整個工程進行適當改造,即可應用於文件傳輸工具,但可用性和效益性不大。因為如今市面上對於文件傳輸系列工具已是相當完備,此處沒必要再將整個工程大費周章應用於大文件傳輸。

      其二,可行之處在於,可映射機密文件傳輸,或者將內部數據庫內容提供外部程序進行API調用。如果將此gdms端與生產集群進行實時聯機,那么對於外部client來說,可以實現數據的實時收集。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM