專利名稱:一種http請求處理的控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種WEB服務(wù)器的控制方法,尤其涉及ー種HTTP(Hypertext TransferProtocol超文本傳輸協(xié)議)請求處理的控制方法。
背景技術(shù):
WEB應(yīng)用一般包括前臺(tái)的HTTP界面和后臺(tái)的WEB應(yīng)用服務(wù)器,GWT (Google WebToolkit谷歌WEB工具包)是ー種可以將使用Java編程語言編寫的AJAX (AsynchronousJavaScript and XML 異步 JavaScript 和 XML)前端交叉編譯到優(yōu)化的 JavaScript (Java小程序)中從而降低前臺(tái)開發(fā)難度的開發(fā)工具,因此受到廣泛應(yīng)用。但是,當(dāng)使用GWT的前臺(tái)框架時(shí),根據(jù)業(yè)務(wù)的多寡涉及到的RPC (Remote Procedure Call Protocol遠(yuǎn)程過程調(diào)用協(xié)議)調(diào)用繁多,導(dǎo)致配置文件中配置的服務(wù)程序條目過多、同時(shí)對(duì)應(yīng)的RPC實(shí)現(xiàn)類過多,且必須繼承指定父類導(dǎo)致模塊之間侵入性很強(qiáng),靈活度不足,強(qiáng)耦合使代碼維護(hù)和功能擴(kuò)展復(fù)雜。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有的使用GW T前臺(tái)框架的WEB系統(tǒng)存在的上述問題,現(xiàn)提供一種旨在克服代碼強(qiáng)耦合的HTTP請求處理的控制方法。具體技術(shù)方案如下ー種HTTP請求處理的控制方法,應(yīng)用于使用GWT前臺(tái)的WEB系統(tǒng),其中,定義ー用于實(shí)現(xiàn)RPC請求的實(shí)現(xiàn)類;于所述GWT前臺(tái)的RPC接ロ注釋中加入完整的包含所述實(shí)現(xiàn)類的名稱的請求路徑,并將所述實(shí)現(xiàn)類以與所述請求路徑中相同的名稱注冊至WEB配置文件中;所述RPC請求產(chǎn)生時(shí)的具體控制方法包括如下步驟步驟S1、于所述GWT前臺(tái)產(chǎn)生RPC請求時(shí)WEB應(yīng)用服務(wù)器攔截所述RPC請求的報(bào)文,并于所述報(bào)文中的注釋的所述請求路徑中提取所述實(shí)現(xiàn)類的名稱以及于所述報(bào)文中提取所述RPC請求的請求內(nèi)容;步驟S2、所述WEB應(yīng)用服務(wù)器根據(jù)所述實(shí)現(xiàn)類的名稱于所述WEB配置文件中加載對(duì)應(yīng)的實(shí)現(xiàn)類的實(shí)例;步驟S3、所述WEB應(yīng)用服務(wù)器根據(jù)所述請求內(nèi)容調(diào)用所述實(shí)現(xiàn)類的實(shí)例;步驟S4、所述WEB應(yīng)用服務(wù)器根據(jù)所述實(shí)現(xiàn)類的實(shí)例返回的處理結(jié)果返回所述GWT前臺(tái)的HTTP響應(yīng)。優(yōu)選的,所述WEB應(yīng)用服務(wù)器攔截所述RPC請求的報(bào)文時(shí)判斷所述報(bào)文是否為text/x-gwt-rpc類型,如不是text/x-gwt-rpc類型則停止處理并返回異常。優(yōu)選的,所述請求內(nèi)容包括實(shí)例化參數(shù)及調(diào)用所述實(shí)現(xiàn)類的接ロ方法名稱。優(yōu)選的,所述WEB應(yīng)用服務(wù)器通過將所述實(shí)例化參數(shù)和接ロ方法名稱傳遞至所述實(shí)現(xiàn)類的實(shí)例實(shí)現(xiàn)對(duì)所述實(shí)現(xiàn)類的實(shí)例的調(diào)用。優(yōu)選的,WEB應(yīng)用服務(wù)器通過反射激活的方法將所述實(shí)例化參數(shù)傳入所述實(shí)現(xiàn)類的實(shí)例。上述技術(shù)方案的有益效果是1、減少配置文件的配置條目、降低模塊的耦合性、優(yōu)化流程、提供唯一入口,方便事務(wù)的控制。2、內(nèi)存消耗降低,會(huì)話狀態(tài)可以保留。
圖為本發(fā)明ー種HTTP請求處理的控制方法的實(shí)施例的步驟流程框圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)ー步說明,但不作為本發(fā)明的限定。如圖1所示,本發(fā)明ー種HTTP請求處理的控制方法的實(shí)施例,應(yīng)用于使用GWT前臺(tái)的WEB系統(tǒng),其中,定義ー用于實(shí)現(xiàn)RPC請求的實(shí)現(xiàn)類;于GWT前臺(tái)的RPC接ロ注釋中加入完整的包含實(shí)現(xiàn)類的名稱的請求路徑,并將實(shí)現(xiàn)類以與請求路徑中相同的名稱注冊至WEB配置文件中;RPC請求產(chǎn)生時(shí)的具體控制方法包括如下步驟步驟S1、于GWT前臺(tái)產(chǎn)生RPC請 求時(shí)WEB應(yīng)用服務(wù)器攔截RPC請求的報(bào)文,并于報(bào)文中的注釋的請求路徑中提取實(shí)現(xiàn)類的名稱以及于報(bào)文中提取RPC請求的請求內(nèi)容;步驟S2、WEB應(yīng)用服務(wù)器根據(jù)實(shí)現(xiàn)類的名稱于WEB配置文件中加載對(duì)應(yīng)的實(shí)現(xiàn)類的實(shí)例;步驟S3、WEB應(yīng)用服務(wù)器根據(jù)請求內(nèi)容調(diào)用實(shí)現(xiàn)類的實(shí)例;步驟S4、WEB應(yīng)用服務(wù)器根據(jù)實(shí)現(xiàn)類的實(shí)例返回的處理結(jié)果返回GWT前臺(tái)的HTTP響應(yīng)。一種較優(yōu)的實(shí)施方式是上述技術(shù)方案可采用SPRING框架實(shí)施,需要指出的是并不以此限定本發(fā)明的技術(shù)方案僅能使用SPRING框架實(shí)施。于上述技術(shù)方案基礎(chǔ)上,進(jìn)ー步的,WEB應(yīng)用服務(wù)器攔截RPC請求的報(bào)文時(shí)判斷報(bào)文是否為text/x-gwt-rpc類型,如不是text/x-gwt-rpc類型則停止處理并返回異常。于上述技術(shù)方案基礎(chǔ)上,進(jìn)ー步的,請求內(nèi)容包括實(shí)例化參數(shù)及調(diào)用實(shí)現(xiàn)類的接ロ方法名稱。WEB應(yīng)用服務(wù)器可采用解析報(bào)文內(nèi)容的方法獲取實(shí)例化參數(shù)及調(diào)用實(shí)現(xiàn)類的接ロ方法名稱。于上述技術(shù)方案基礎(chǔ)上,進(jìn)ー步的,WEB應(yīng)用服務(wù)器通過將實(shí)例化參數(shù)和接ロ方法名稱傳遞至實(shí)現(xiàn)類的實(shí)例實(shí)現(xiàn)對(duì)實(shí)現(xiàn)類的實(shí)例的調(diào)用。于上述技術(shù)方案基礎(chǔ)上,進(jìn)ー步的WEB應(yīng)用服務(wù)器通過反射激活的方法將實(shí)例化參數(shù)傳入實(shí)現(xiàn)類的實(shí)例。由于反射激活是本領(lǐng)域技術(shù)人員常用的方法,因此不再贅述。上述技術(shù)方案通過解析報(bào)文內(nèi)容獲取實(shí)現(xiàn)類的名稱及調(diào)用方法并以反射激活的方式傳遞實(shí)例化參數(shù)從而不需要于WEB配置文件中配置繁多的配置條目,使WEB配置文件的代碼耦合度降低,從而提高了系統(tǒng)的靈活性便于擴(kuò)展。以上所述僅為本發(fā)明較佳的實(shí)施例,并非因此限制本發(fā)明的實(shí)施方式及保護(hù)范圍,對(duì)于本領(lǐng)域技術(shù)人員而言,應(yīng)當(dāng)能夠意識(shí)到凡運(yùn)用本發(fā)明說明書及圖示內(nèi)容所作出的等同替換和顯而易見的變化所得到的方案,均應(yīng)當(dāng)包含在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.ー種HTTP請求處理的控制方法,應(yīng)用于使用GWT前臺(tái)的WEB系統(tǒng),其特征在于,定義一用于實(shí)現(xiàn)RPC請求的實(shí)現(xiàn)類;于所述GWT前臺(tái)的RPC接ロ注釋中加入完整的包含所述實(shí)現(xiàn)類的名稱的請求路徑,并將所述實(shí)現(xiàn)類以與所述請求路徑中相同的名稱注冊至WEB配置文件中;所述RPC請求產(chǎn)生時(shí)的具體控制方法包括如下步驟 步驟S1、于所述GWT前臺(tái)產(chǎn)生RPC請求時(shí)WEB應(yīng)用服務(wù)器攔截所述RPC請求的報(bào)文,并于所述報(bào)文中的注釋的所述請求路徑中提取所述實(shí)現(xiàn)類的名稱以及于所述報(bào)文中提取所述RPC請求的請求內(nèi)容; 步驟S2、所述WEB應(yīng)用服務(wù)器根據(jù)所述實(shí)現(xiàn)類的名稱于所述WEB配置文件中加載對(duì)應(yīng)的實(shí)現(xiàn)類的實(shí)例; 步驟S3、所述WEB應(yīng)用服務(wù)器根據(jù)所述請求內(nèi)容調(diào)用所述實(shí)現(xiàn)類的實(shí)例; 步驟S4、所述WEB應(yīng)用服務(wù)器根據(jù)所述實(shí)現(xiàn)類的實(shí)例返回的處理結(jié)果返回所述GWT前臺(tái)的HTTP響應(yīng)。
2.如權(quán)利要求1所述HTTP請求處理的控制方法,其特征在干,所述WEB應(yīng)用服務(wù)器攔截所述RPC請求的報(bào)文時(shí)判斷所述報(bào)文是否為text/x-gwt-rpc類型,如不是text/x-gwt-rpc類型則停止處理并返回異常。
3.如權(quán)利要求1所述HTTP請求處理的控制方法,其特征在于,所述請求內(nèi)容包括實(shí)例化參數(shù)及調(diào)用所述實(shí)現(xiàn)類的接ロ方法名稱。
4.如權(quán)利要求3所述HTTP請求處理的控制方法,其特征在于,所述WEB應(yīng)用服務(wù)器通過將所述實(shí)例化參數(shù)和接ロ方法名稱傳遞至所述實(shí)現(xiàn)類的實(shí)例實(shí)現(xiàn)對(duì)所述實(shí)現(xiàn)類的實(shí)例的調(diào)用。
5.如權(quán)利要求4所述HTTP請求處理的控制方法,其特征在干,WEB應(yīng)用服務(wù)器通過反射激活的方法將所述實(shí)例化參數(shù)傳入所述實(shí)現(xiàn)類的實(shí)例。
全文摘要
本發(fā)明公開了一種HTTP請求處理的控制方法,具體控制方法包括如下步驟步驟S1、于GWT前臺(tái)產(chǎn)生RPC請求時(shí)WEB應(yīng)用服務(wù)器攔截RPC請求的報(bào)文,并于報(bào)文中的注釋的請求路徑中提取實(shí)現(xiàn)類的名稱以及于報(bào)文中提取RPC請求的請求內(nèi)容;步驟S2、WEB應(yīng)用服務(wù)器根據(jù)實(shí)現(xiàn)類的名稱于WEB配置文件中加載對(duì)應(yīng)的實(shí)現(xiàn)類的實(shí)例;步驟S3、WEB應(yīng)用服務(wù)器根據(jù)請求內(nèi)容調(diào)用實(shí)現(xiàn)類的實(shí)例;步驟S4、WEB應(yīng)用服務(wù)器根據(jù)實(shí)現(xiàn)類的實(shí)例返回的處理結(jié)果返回GWT前臺(tái)的HTTP響應(yīng)。上述技術(shù)方案的有益效果是減少配置文件的配置條目、降低模塊的耦合性、優(yōu)化流程、提供唯一入口,方便事務(wù)的控制;內(nèi)存消耗降低,會(huì)話狀態(tài)可以保留。
文檔編號(hào)H04L29/08GK103067511SQ20121058785
公開日2013年4月24日 申請日期2012年12月28日 優(yōu)先權(quán)日2012年12月28日
發(fā)明者徐吟 申請人:上海寰創(chuàng)通信科技股份有限公司