亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種更換界面主題的方法和系統(tǒng)的制作方法

文檔序號(hào):6611957閱讀:348來(lái)源:國(guó)知局
專利名稱:一種更換界面主題的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及web應(yīng)用領(lǐng)域,特別是涉及一種更換界面主題的方法和系統(tǒng)。
背景技術(shù)
Web (world wide web )是一種典型的分布式應(yīng)用架構(gòu)。Web應(yīng)用中的每 一次信息交換都要涉及到客戶端和服務(wù)端兩個(gè)層面。作為互聯(lián)網(wǎng)(Internet )上 的一種應(yīng)用架構(gòu),Web的首要任務(wù)就是向人們提供信息和信息服務(wù)。從技術(shù)層 面看,Web架構(gòu)的精華有三處用超文本技術(shù)(HTML)實(shí)現(xiàn)信息與信息的連 接;用統(tǒng)一資源定位技術(shù)(URI)實(shí)現(xiàn)全球信息的精確定位;用新的應(yīng)用層協(xié) 議(HTTP)實(shí)現(xiàn)分布式的信息共享。這三個(gè)特點(diǎn)無(wú)一不與信息的分發(fā)、獲取 和利用有關(guān)。
Web客戶端的主要任務(wù)M現(xiàn)信息內(nèi)容,最初的HTML語(yǔ)言只能在瀏覽 器中展現(xiàn)靜態(tài)的文本或圖像信息,這滿足不了人們對(duì)信息豐富性和多樣性的強(qiáng) 烈需求,因此,由靜態(tài)技術(shù)向動(dòng)態(tài)技術(shù)的轉(zhuǎn)變成為了 Web客戶端技術(shù)演進(jìn)的 必須階,殳。
隨著web技術(shù)的發(fā)展和普及,用戶有了個(gè)性化的需求,web界面的主題風(fēng) 格不再是一成不變,因此,大部分web系統(tǒng)都提供了界面主題管理的功能。 真正讓web站點(diǎn)的界面主題豐富多彩、動(dòng)感無(wú)限的是層疊樣式表(cascading stylesheets, CSS)技術(shù),界面主題管理功能的通常實(shí)現(xiàn)方式是為一個(gè)web應(yīng) 用系統(tǒng)的界面定義多套CSS,并在系統(tǒng)中編寫(xiě)代碼來(lái)控制切換CSS,從而實(shí)現(xiàn) 界面主題的更換。采用CSS技術(shù),可以有效的對(duì)頁(yè)面的布局、字體、顏色、 背景和其他效果進(jìn)行控制,大大提高了開(kāi)發(fā)者對(duì)信息展現(xiàn)格式的控制能力。
雖然采用CSS技術(shù)能實(shí)現(xiàn)界面主題的豐富多彩,提高用戶的體驗(yàn)感覺(jué), 但是,如果需要改變界面主題、或者頁(yè)數(shù)不同的主題外觀和格式,都需要對(duì)相 應(yīng)的代碼進(jìn)行修改。 一方面,需要在web應(yīng)用系統(tǒng)中編寫(xiě)一定的代碼來(lái)實(shí)現(xiàn) 界面主題管理的功能,通過(guò)這種方式來(lái)實(shí)現(xiàn),如果每做一個(gè)新的項(xiàng)目,便要為 這個(gè)項(xiàng)目編寫(xiě)界面主題管理的代碼,不能方便的進(jìn)行維護(hù)。另一方面,通過(guò) CSS實(shí)現(xiàn)界面主題管理的功能,通常只支持有限的幾個(gè)主題,如果系統(tǒng)要增加
一種主題風(fēng)格,則需要更改代碼和重新部署應(yīng)用,所需工作量較大。
因此迫切需要對(duì)web應(yīng)用中的界面主題管理進(jìn)行改進(jìn),簡(jiǎn)化web應(yīng)用中 實(shí)現(xiàn)更換界面主題的復(fù)雜度、降低更換成本、并且能提供高度的可擴(kuò)展能力。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種更換界面主題的方法和系統(tǒng),能夠 簡(jiǎn)化web應(yīng)用中實(shí)現(xiàn)更換界面主題的復(fù)雜度、降低更換成本、并且能才是供高 度的可擴(kuò)展能力。
為了解決上述問(wèn)題,本發(fā)明公開(kāi)了一種更換界面主題的方法,包括
接受客戶端的請(qǐng)求;
根據(jù)所述客戶端的請(qǐng)求,解析出客戶端請(qǐng)求裝載的界面主題資源; 定位所述請(qǐng)求的界面主題資源,確定所述請(qǐng)求裝載的界面主題資源的類(lèi)路
徑;
裝載所述確定的界面主題資源。
進(jìn)一步,在所述裝載確定的界面主題資源步驟后還包括 將所述裝載的界面主題資源以流的方式傳輸至所述請(qǐng)求的客戶端,在客戶
端顯示所述更換后的界面主題。
進(jìn)一步,組織界面主題資源,打包存儲(chǔ)所述界面主題資源至應(yīng)用服務(wù)系統(tǒng)
的類(lèi)路徑中。
優(yōu)選的,單獨(dú)打包所述界面主題資源,獨(dú)立存放至應(yīng)用服務(wù)系統(tǒng)的類(lèi)路徑中。
進(jìn)一步,在所述定位請(qǐng)求的界面主題資源步驟后還包括 判斷是否存在所述請(qǐng)求的界面主題資源,如果不存在所述請(qǐng)求的界面主題 資源則裝載默i^的界面主題資源,存在則進(jìn)入下一步。 本發(fā)明還公開(kāi)了一種更換界面主題的系統(tǒng),包括 接受請(qǐng)求單元,用于接受客戶端的請(qǐng)求;
解析單元,用于根據(jù)客戶端的請(qǐng)求,解析出客戶端請(qǐng)求裝載的界面主題資
源;
定位單元,用于定位所述請(qǐng)求的界面主題資源,確定所述請(qǐng)求裝載的界面 主題資源的類(lèi)路徑;
裝載單元,用于裝載所述確定的界面主題資源。
進(jìn)一步,還包括傳輸單元,用于將所述裝載的界面主題資源以流的方式傳 輸至所述請(qǐng)求的客戶端,在客戶端顯示所述更換后的界面主題。
進(jìn)一步,還包括資源組織單元,用于組織界面主題資源,打包存儲(chǔ)所述界 面主題資源至應(yīng)用服務(wù)系統(tǒng)的類(lèi)路徑中。
優(yōu)選的,所述資源組織單元單獨(dú)打包界面主題資源,獨(dú)立存放所述界面主 題資源至應(yīng)用服務(wù)系統(tǒng)的類(lèi)路徑中。
進(jìn)一步,還包括判斷單元,用于判斷是否存在所述請(qǐng)求的界面主題資源, 如果不存在所述請(qǐng)求的界面主題資源則調(diào)用裝載單元裝載默認(rèn)的界面主題資 源,存在則調(diào)用裝載單元裝載所述確定的界面主題資源。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)
本發(fā)明將界面主題管理的功能從web應(yīng)用系統(tǒng)中剝離出來(lái),形成獨(dú)立的 部分,并可用于任何基于web應(yīng)用系統(tǒng)而無(wú)須編寫(xiě)代碼,簡(jiǎn)化web應(yīng)用開(kāi)發(fā) 的復(fù)雜度、降低了更換界面主題的成本。本發(fā)明所實(shí)現(xiàn)的可裝配界面主題的管 理,web應(yīng)用系統(tǒng)不需要修改代碼也不需要重新部署即可增加新的界面主題資 源,可增加任意多的界面主題資源,極大提高了界面主題管理的可擴(kuò)展能力。 并且界面主題的資源文件是獨(dú)立的,可以不部署在web應(yīng)用系統(tǒng)中,減輕系 統(tǒng)的維護(hù)負(fù)擔(dān)。


圖l是本發(fā)明實(shí)施例一種更換界面主題的方法流程圖2是本發(fā)明另 一實(shí)施例一種更換界面主題的方法流程圖3是本發(fā)明實(shí)施例一種更換界面主題的系統(tǒng)的結(jié)構(gòu)框圖4是本發(fā)明另 一實(shí)施例一種更換界面主題的系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施例方式
本發(fā)明的理論^f出是基于javaee的servlet規(guī)范和java語(yǔ)言的資源裝載方 式。本發(fā)明通過(guò)使用servlet提供的標(biāo)準(zhǔn)功能和java語(yǔ)言提供的資源裝載功能, 實(shí)現(xiàn)動(dòng)態(tài)的界面主題的裝載。
以了更好的理解本發(fā)明,下面對(duì)javaee的servlet規(guī)范和java語(yǔ)言的資源
裝載方式進(jìn)行介紹。Servlet是使用Java Servlet應(yīng)用程序設(shè)計(jì)接口 (API)及 相關(guān)類(lèi)和方法的Java程序。除了 Java Servlet API, Servlet還可以使用用以 擴(kuò)展和添加到API的Java類(lèi)軟件包。Servlet在啟用Java的Web服務(wù)器 上或應(yīng)用服務(wù)器上運(yùn)行并擴(kuò)展了該服務(wù)器的能力。Java servlet對(duì)于Web服務(wù) 器就好象Java applet對(duì)于Web瀏覽器。Servlet裝入Web服務(wù)器并在Web服務(wù) 器內(nèi)執(zhí)行,而applet裝入Web瀏覽器并在Web瀏覽器內(nèi)執(zhí)行。Java Servlet API 定義了 一個(gè)servlet和Java服務(wù)器之間的一個(gè)標(biāo)準(zhǔn)接口 ,這使得Servlets具有 跨服務(wù)器平臺(tái)的特性。
Servlet通過(guò)創(chuàng)建一個(gè)框架來(lái)擴(kuò)展服務(wù)器的能力,以提供在Web上進(jìn)行 請(qǐng)求和響應(yīng)服務(wù)。當(dāng)客戶端發(fā)送請(qǐng)求至服務(wù)器時(shí),服務(wù)器可以將請(qǐng)求信息發(fā)送 給Servlet,并讓Servlet建立起月l務(wù)器返回給客戶端的響應(yīng)。當(dāng)啟動(dòng)Web月l 務(wù)器或客戶端第一次請(qǐng)求服務(wù)時(shí),可以自動(dòng)裝入Servlet。裝入后,Servlet繼 續(xù)運(yùn)行直到其它客戶端發(fā)出請(qǐng)求。Servlet的功能涉及范圍很廣。通常,Servlet 可完成如下功能
1、 創(chuàng)建并返回一個(gè)包含基于客戶請(qǐng)求性質(zhì)的動(dòng)態(tài)內(nèi)容的完整的HTML 頁(yè)面。
2、 創(chuàng)建可嵌入到現(xiàn)有HTML頁(yè)面中的一部分HTML頁(yè)面(HTML片段)。
3、 與其它服務(wù)器資源(包括數(shù)據(jù)庫(kù)和基于Java的應(yīng)用程序)進(jìn)行通信。
4、 用多個(gè)客戶端處理連接,接收多個(gè)客戶端的輸入,并將結(jié)果廣播到多 個(gè)客戶端上。例如,Servlet可以是多參與者的游戲服務(wù)器。
5、 當(dāng)允許在單連接方式下傳送數(shù)據(jù)的情況下,在瀏覽器上打開(kāi)服務(wù)器至 applet的新連接,并將該連接保持在打開(kāi)狀態(tài)。當(dāng)允許客戶端和服務(wù)器簡(jiǎn)單、 高效地執(zhí)行會(huì)話的情況下,applet也可以啟動(dòng)客戶瀏覽器和服務(wù)器之間的連接。 可以通過(guò)定制協(xié)議或標(biāo)準(zhǔn)(如HOP)進(jìn)行通信。
6、 對(duì)特殊的處理采用MIME類(lèi)型過(guò)濾數(shù)據(jù),例如圖像轉(zhuǎn)換和服務(wù)器端 包括(SSI )。
7、 將定制的處理提供給所有服務(wù)器的標(biāo)準(zhǔn)例行程序。例如,Servlet可以 修改如何認(rèn)證用戶。
類(lèi)裝栽是java語(yǔ)言提供的最強(qiáng)大的機(jī)制之一, 一個(gè)類(lèi)代表要執(zhí)行的代碼, 而數(shù)據(jù)則表示其相關(guān)狀態(tài)。狀態(tài)時(shí)常改變,而代碼則不會(huì)。將一個(gè)特定的狀態(tài) 與一個(gè)類(lèi)相對(duì)應(yīng)起來(lái),即將一個(gè)類(lèi)事例化。盡管相同的類(lèi)對(duì)應(yīng)的實(shí)例其狀態(tài)千 差萬(wàn)別,但其本質(zhì)都對(duì)應(yīng)著同一段代碼。 一旦一個(gè)類(lèi)被載入Java虛擬才幾(Java Virtual Machine, JVM)中,同一個(gè)類(lèi)就不會(huì)被再次載入了 。應(yīng)用服務(wù)器自身 的啟動(dòng)需要裝載很多類(lèi)文件(class),部署在應(yīng)用服務(wù)器上的應(yīng)用啟動(dòng)時(shí)也需 要裝載應(yīng)用自身的類(lèi)文件。JAVA的類(lèi)裝載機(jī)制是在同一個(gè)JVM中,按類(lèi)路 徑的層次和順序裝載類(lèi)文件,并且同一個(gè)類(lèi)裝載器(classloader)對(duì)同一個(gè)類(lèi) 只能夠裝載一次,classloader存在父子關(guān)系,同 一個(gè)類(lèi)文件可以^皮不同的 classloader裝載, 一個(gè)類(lèi)可以被多個(gè)class - loader裝載。應(yīng)用服務(wù)器運(yùn)行時(shí), 應(yīng)用的某個(gè)類(lèi)可以被部署在多個(gè)地方。
Java虛擬機(jī)(JVM)的類(lèi)裝載就是將包含在類(lèi)文件中的字節(jié)碼裝栽到JVM 中,但是類(lèi)裝載器也不是原封不動(dòng)的裝載到JVM,它是將類(lèi)(.class)文件中 的內(nèi)容轉(zhuǎn)換成JVM使用的類(lèi)字節(jié)碼。通過(guò)類(lèi)裝載器裝載到JVM中的字節(jié)碼數(shù) 據(jù),就成了可執(zhí)行的代碼。類(lèi)裝載器把類(lèi)裝入JVM中,要經(jīng)過(guò)三個(gè)步驟完成 裝載,鏈接和初始化。
類(lèi)裝載器本身也是一個(gè)java類(lèi),類(lèi)庫(kù)中提供了一個(gè)java.lang.classloader 做為類(lèi)的裝載器基類(lèi),也就是說(shuō)真正的類(lèi)裝載器都必須是classloader的子類(lèi)。 Class類(lèi)中定義了 一個(gè)getclassloader方法,用于返回它所描述的類(lèi)的類(lèi)裝載器 對(duì)象,這個(gè)返回對(duì)象的類(lèi)型就是classloader。 一個(gè)java應(yīng)用持續(xù)使用兩種類(lèi)型 的類(lèi)裝載器根裝載器(bootstrap )和用戶定義的裝載器(user-defined ),所 謂根裝載器就是JVM中內(nèi)嵌的一個(gè)類(lèi),它是用特定的操作系統(tǒng)的本地代碼實(shí) 現(xiàn)的,它不用專門(mén)的類(lèi)裝載器去進(jìn)行裝載。它負(fù)責(zé)裝載Java核心包中的類(lèi)文 件中的類(lèi)。對(duì)一個(gè)已經(jīng)凈皮父級(jí)類(lèi)裝載器裝載的類(lèi)來(lái)"i兌。JVM默認(rèn)也〗吏用這個(gè) 父級(jí)類(lèi)裝載器去裝載它所調(diào)用的其他類(lèi),由于父級(jí)類(lèi)裝載器不會(huì)委托子級(jí)類(lèi)裝 載器去裝載類(lèi),所以,在一般情況下, 一個(gè)已被父級(jí)類(lèi)裝載器裝載的類(lèi)無(wú)法調(diào) 用那些只能被子級(jí)類(lèi)裝載器發(fā)現(xiàn)和裝載的其他的類(lèi)。
本發(fā)明通過(guò)使用servlet提供的標(biāo)準(zhǔn)功能和Java語(yǔ)言提供的資源裝載功能, 實(shí)現(xiàn)動(dòng)態(tài)的界面主題資源的裝載。
本發(fā)明所述的界面主題管理是一個(gè)可獨(dú)立工作的、可嵌入其他應(yīng)用的部 分。如果要在一個(gè)系統(tǒng)中使用本發(fā)明的界面主題管理,只需將界面主題資源文 件放在系統(tǒng)的類(lèi)路徑中即可。界面主題裝載器根據(jù)來(lái)自客戶端的界面主題資源 的請(qǐng)求,定位指定的界面主題資源。對(duì)于應(yīng)用系統(tǒng)來(lái)說(shuō),使用本發(fā)明所述方案, 則所有界面主題管理相關(guān)的功能都可以通過(guò)本發(fā)明的界面主題管理來(lái)實(shí)現(xiàn),因 此不需要編寫(xiě)界面主題管理的任何代碼。
進(jìn)一步,本發(fā)明中的界面主題資源文件,是按照一定的目錄形式組織的, 每個(gè)界面主題或主題相關(guān)的文件,存放在單獨(dú)的文件夾中,如果需要增加一種 新的界面主題,只需再建立一個(gè)類(lèi)似的文件夾即可,程序代碼無(wú)需做任何改變, 在傳統(tǒng)的界面主題資源管理模式下,如果需要新增界面主題,勢(shì)必要引起程序 代碼的改動(dòng)。
根據(jù)請(qǐng)求定位界面主題資源時(shí),是在整個(gè)類(lèi)路徑中定位的,該點(diǎn)不同于傳 統(tǒng)的資源管理模式,傳統(tǒng)的資源管理模式只是局限在應(yīng)用系統(tǒng)自身的目錄中定 位。而本明則可以將任何位置的文件或文件夾添加到類(lèi)路徑中。因此,對(duì)于應(yīng) 用系統(tǒng),將系統(tǒng)所需的界面主題資源文件放在類(lèi)路徑中即可,界面主題管理即 會(huì)定位并裝載它,并不一定要存放在應(yīng)用系統(tǒng)的目錄下。
進(jìn)一步,由于界面主題管理在定位界面主題資源時(shí),是在類(lèi)路徑中定位, 這種機(jī)制決定了界面主題資源文件是可以分開(kāi)成多個(gè)獨(dú)立文件的。比如一個(gè)應(yīng)
用系統(tǒng)提供三種界面主題a、 b、 c,則可以把界面主題a所需要的所有資源文 件打包成一個(gè)獨(dú)立的,界面主題b所需的資源文件打包成一個(gè),界面主題c所 需的所有資源文件打包為一個(gè),分別是a.jar、 b.jar和c.jar,將這三個(gè)文件都加 到j(luò)ava的類(lèi)路徑中,因此,對(duì)于界面主題管理來(lái)說(shuō),則可以查找到全部這三 種界面主題的資源文件了 。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
參照?qǐng)D1,示出了本發(fā)明實(shí)施例一種更換界面主題的方法流程圖,包括步

步驟IOI、接受客戶端的請(qǐng)求。
當(dāng)客戶端要更換界面主題時(shí),則向服務(wù)器發(fā)出更換界面主題的請(qǐng)求,所述
服務(wù)器接收所述客戶端更換界面主題的請(qǐng)求。
步驟102、根據(jù)所述客戶端的請(qǐng)求,解析出客戶端請(qǐng)求裝載的界面主題資源。
月良務(wù)器端接收客戶端的統(tǒng)一資源定位符(Uniform Resource Locator, URL ) 根據(jù)所述URL解析出客戶端請(qǐng)求裝載的界面主題。
所述URL是web頁(yè)的;也址,URL由兩個(gè)主要的部分構(gòu)成協(xié)議(Protocol ) 和目的地(Destination )。協(xié)議部分表示面對(duì)的是何種類(lèi)型的Internet資源。web 中最常見(jiàn)的協(xié)議是http,它表示從Web中取回的是HTML文檔。其他協(xié)議還 有g(shù)opher、 ftp和telnet等。目的地可以是某個(gè)文件名、目錄名或者某臺(tái)計(jì)算機(jī) 的名稱。通過(guò)一個(gè)URL能讓瀏覽器知道HTML文檔的正確位置以及文件名是 什么。URL的作用是告訴瀏覽器使用什么協(xié)議,以及在網(wǎng)絡(luò)的什么地方去尋 找下載的文件。URL用來(lái)定義Web網(wǎng)頁(yè)的地址。根據(jù)客戶端的URL就可以解 析出客戶端所要請(qǐng)求的資源地址以及所要請(qǐng)求的資源名稱。
步驟103、定位客戶端請(qǐng)求的界面主題資源,確定所述請(qǐng)求裝栽的界面主 題資源的類(lèi)路徑。
本發(fā)明所述的界面主題資源是按照一定的目錄形式組織的,每個(gè)界面主題 或與主題相關(guān)的文件,都存;^文在一個(gè)單獨(dú)的文件夾中,當(dāng)需要增加一種新的界 面主題時(shí),只需再建立一個(gè)類(lèi)似的文件夾即可。在本發(fā)明中,可以將任何位置 的文件或文件夾存放于類(lèi)路徑中,因此,對(duì)于應(yīng)用系統(tǒng),將所需的界面主題資 源文件存放在類(lèi)路徑中即可。服務(wù)器端在根據(jù)客戶端的請(qǐng)求定位界面主題資源 時(shí),是在整個(gè)類(lèi)路徑中定位的,不需要一定將資源文件存放在應(yīng)用系統(tǒng)的目錄 下。
進(jìn)一步,由于在定位界面主題資源時(shí),是在類(lèi)路徑中定位的,這種機(jī)制決 定了界面主題資源可以被分開(kāi)成多個(gè)獨(dú)立文件。例如, 一個(gè)應(yīng)用系統(tǒng)提供三種 界面主題a、 b、 c,則可以把界面主題a所需要的所有資源文件打包成一個(gè)獨(dú) 立的,界面主題b所需要的資源文件打包成一個(gè)獨(dú)立的,界面主題c所需的所 有資源文件打包成一個(gè)獨(dú)立的,分別是a.jar、 b.jar和c.jar,將這三個(gè)文件都存 放到類(lèi)路徑中,因此,對(duì)于界面主題管理來(lái)說(shuō),就可以查找到全部這三種界面 主題的資源文件了。
步驟104、裝載所述確定的界面主題資源。
經(jīng)過(guò)步驟103的定位確定后,即可知道客戶端請(qǐng)求的界面主題資源的類(lèi)路
徑,通過(guò)類(lèi)裝載功能將所述界面主題資源類(lèi)文件從類(lèi)路徑中裝載,實(shí)現(xiàn)界面主 題的更換。
類(lèi)裝載是java語(yǔ)言提供的最強(qiáng)大的機(jī)制之一, 一個(gè)類(lèi)代表要執(zhí)行的代碼, 而數(shù)據(jù)則表示其相關(guān)狀態(tài)。狀態(tài)時(shí)常改變,而代碼則不會(huì)。將一個(gè)特定的狀態(tài) 與一個(gè)類(lèi)相對(duì)應(yīng)起來(lái),即將一個(gè)類(lèi)事例化。盡管相同的類(lèi)對(duì)應(yīng)的實(shí)例其狀態(tài)千 差萬(wàn)別,但其本質(zhì)都對(duì)應(yīng)著同一段代碼。 一旦一個(gè)類(lèi)被載入Java虛擬機(jī)(Java Virtual Machine, JVM)中,同一個(gè)類(lèi)就不會(huì)被再次載入了 。應(yīng)用服務(wù)器自身 的啟動(dòng)需要裝載很多類(lèi)文件(class),部署在應(yīng)用服務(wù)器上的應(yīng)用啟動(dòng)時(shí)也需 要裝載應(yīng)用自身的類(lèi)文件。JAVA的類(lèi)裝載機(jī)制是在同一個(gè)JVM中,按類(lèi)路 徑的層次和順序裝載類(lèi)文件,并且同一個(gè)類(lèi)裝載器(classloader)對(duì)同一個(gè)類(lèi) 只能夠裝載一次,classloader存在父子關(guān)系,同 一個(gè)類(lèi)文件可以-陂不同的 classloader裝載, 一個(gè)類(lèi)可以;故多個(gè)class - loader裝載。應(yīng)用服務(wù)器運(yùn)4亍時(shí), 應(yīng)用的某個(gè)類(lèi)可以被部署在多個(gè)地方。
中,但是類(lèi)裝載器也不是原封不動(dòng)的裝載到JVM,它是將類(lèi)(.class)文件中 的內(nèi)容轉(zhuǎn)換成JVM使用的類(lèi)字節(jié)碼。通過(guò)類(lèi)裝載器裝載到JVM中的字節(jié)碼數(shù) 據(jù),就成了可執(zhí)行的代碼。類(lèi)裝載器把類(lèi)裝入JVM中,要經(jīng)過(guò)三個(gè)步驟完成 裝載,鏈接和初始化。
進(jìn)一步,還包括步驟105、將所述裝載的界面主題資源以流的方式傳輸至 所述請(qǐng)求的客戶端,在客戶端顯示更換后的界面主題。
根據(jù)客戶端的URL,將所述更換后的界面主題傳輸至所述請(qǐng)求更換界面 主題的客戶端。所述傳輸?shù)姆绞娇梢允嵌M(jìn)制流的方式,也可以是其他方式, 本發(fā)明并不對(duì)此進(jìn)行限定,本發(fā)明優(yōu)選采用二進(jìn)制流的方式傳輸所述更換后的 界面主題至客戶端。
通過(guò)前面的描述可知,本發(fā)明的界面主題資源文件可以單獨(dú)打包,單獨(dú)存 放在類(lèi)路徑中。在本發(fā)明中,采用了應(yīng)用服務(wù)器的session機(jī)制,從而實(shí)現(xiàn)對(duì) 每一個(gè)客戶端,都有一個(gè)獨(dú)立的界面主題資源存儲(chǔ)區(qū)域,互相獨(dú)立。將每個(gè)客 戶端所請(qǐng)求的界面主題資源存放在每個(gè)客戶的session之中,從而實(shí)現(xiàn)每個(gè)客 戶端可以選擇各自的界面主題資源,互不干涉。
通過(guò)CSS實(shí)現(xiàn)的界面主題管理,需要在web應(yīng)用系統(tǒng)中編寫(xiě)一定的代碼 來(lái)實(shí)現(xiàn)界面主題管理的功能,每做一個(gè)新的項(xiàng)目時(shí),便要為這個(gè)項(xiàng)目編寫(xiě)界面 管理的代碼,不能方便的進(jìn)行維護(hù)。另一方面,通過(guò)該種方式的實(shí)現(xiàn),通常只 支持有限的幾個(gè)界面主題,如果系統(tǒng)要增加一種界面主題,也需要更改代碼以 重新部署應(yīng)用。通過(guò)本發(fā)明所述技術(shù)方案實(shí)現(xiàn)界面主題管理,將界面主題管理 的功能從web應(yīng)用系統(tǒng)中剝離出來(lái),形成一個(gè)獨(dú)立的功能,并可用于任何基 于web的應(yīng)用系統(tǒng)而無(wú)須編寫(xiě)代碼,從而簡(jiǎn)化web開(kāi)發(fā)的復(fù)雜度。通過(guò)本發(fā) 明所述的技術(shù)方案,web應(yīng)用系統(tǒng)不需要修改代碼也不需要重新部署即可增加 一種新的界面主題,極大的提高了界面主題管理的可擴(kuò)展能力。
參照?qǐng)D2,示出了本發(fā)明另一實(shí)施例一種更換界面主題的方法的流程圖, 包括步驟
步驟201、接受客戶端的請(qǐng)求。
當(dāng)客戶端要更換界面主題時(shí),則向服務(wù)器發(fā)出更換界面主題的請(qǐng)求,所述 服務(wù)器接收所述客戶端更換界面主題的請(qǐng)求。
步驟202、根據(jù)所述客戶端的請(qǐng)求,解析出客戶端請(qǐng)求裝載的界面主題資源。
月良務(wù)器端接收客戶端的統(tǒng)一資源定位符(Uniform Resource Locator, URL ) 根據(jù)所述URL解析出客戶端請(qǐng)求裝載的界面主題。
步驟203、定位客戶端請(qǐng)求的界面主題資源,確定所述請(qǐng)求裝載的界面主 題資源的類(lèi)路徑。
本發(fā)明所述的界面主題資源是按照一定的目錄形式組織的,每個(gè)界面主題 或與主題相關(guān)的文件,都存放在一個(gè)單獨(dú)的文件夾中,當(dāng)需要增加一種新的界 面主題時(shí),只需再建立一個(gè)類(lèi)似的文件夾即可。在本發(fā)明中,可以將任何位置 的文件或文件夾存放于類(lèi)路徑中,因此,對(duì)于應(yīng)用系統(tǒng),將所需的界面主題資 源文件存放在類(lèi)路徑中即可。服務(wù)器端在根據(jù)客戶端的請(qǐng)求定位界面主題資源 時(shí),是在整個(gè)類(lèi)路徑中定位的,不需要一定將資源文件存放在應(yīng)用系統(tǒng)的目錄 下。
進(jìn)一步,由于在定位界面主題資源時(shí),是在類(lèi)路徑中定位的,這種機(jī)制決 定了界面主題資源可以被分開(kāi)成多個(gè)獨(dú)立文件。
步驟204、判斷是否存在所述請(qǐng)求的界面主題資源,如果不存在所述請(qǐng)求 的界面主題資源則裝載默認(rèn)的界面主題資源,存在則進(jìn)入下一步驟205。 步驟205、裝載所述確定的界面主題資源。
經(jīng)過(guò)步驟203的定位確定后,即可知ii^戶端請(qǐng)求的界面主題資源的類(lèi)路 徑,通過(guò)類(lèi)裝載功能將所述界面主題資源類(lèi)文件從類(lèi)路徑中裝載,實(shí)現(xiàn)界面主 題的更換。
進(jìn)一步,還包括步驟206、將所述裝載的界面主題資源以流的方式傳輸至 所述請(qǐng)求的客戶端,在客戶端顯示更換后的界面主題。
根據(jù)客戶端的URL,將所述更換后的界面主題傳輸至所述請(qǐng)求更換界面 主題的客戶端。所述傳輸?shù)姆绞娇梢允嵌M(jìn)制流的方式,也可以是其他方式, 本發(fā)明并不對(duì)此進(jìn)行限定,本發(fā)明優(yōu)選采用二進(jìn)制流的方式傳輸所述更換后的 界面主題至客戶端。
參照?qǐng)D3,示出了本發(fā)明實(shí)施例一種更換界面主題的系統(tǒng)的結(jié)構(gòu)框圖,包

接受請(qǐng)求單元301,用于接受客戶端的請(qǐng)求。
當(dāng)客戶端要更換界面主題時(shí),則向服務(wù)器發(fā)出更換界面主題的請(qǐng)求,所述 服務(wù)器接收所述客戶端更換界面主題的請(qǐng)求。
解析單元302,用于根據(jù)客戶端的請(qǐng)求,解析出客戶端請(qǐng)求裝載的界面主 題資源。
月良務(wù)器端接收客戶端的統(tǒng)一資源定位符(Uniform Resource Locator, URL) 根據(jù)所述URL解析出客戶端請(qǐng)求裝載的界面主題。URL的作用是告訴瀏覽器 使用什么協(xié)議,以及在網(wǎng)絡(luò)的什么地方去尋找下載的文件。URL用來(lái)定義Web 網(wǎng)頁(yè)的地址。根據(jù)客戶端的URL就可以解析出客戶端所要請(qǐng)求的資源地址以 及所要請(qǐng)求的資源名稱。
定位單元303,用于定位所述請(qǐng)求的界面主題資源,確定所述請(qǐng)求裝載的 界面主題資源的類(lèi)路徑。
本發(fā)明所述的界面主題資源是按照一定的目錄形式組織的,每個(gè)界面主題
或與主題相關(guān)的文件,都存放在一個(gè)單獨(dú)的文件夾中,當(dāng)需要增加一種新的界 面主題時(shí),只需再建立一個(gè)類(lèi)似的文件夾即可。在本發(fā)明中,可以將任何位置 的文件或文件夾存放于類(lèi)路徑中,因此,對(duì)于應(yīng)用系統(tǒng),將所需的界面主題資 源文件存放在類(lèi)路徑中即可。服務(wù)器端在根據(jù)客戶端的請(qǐng)求定位界面主題資源 時(shí),是在整個(gè)類(lèi)路徑中定位的,不需要一定將資源文件存放在應(yīng)用系統(tǒng)的目錄 下。
進(jìn)一步,由于在定位界面主題資源時(shí),是在類(lèi)路徑中定位的,這種機(jī)制決 定了界面主題資源可以被分開(kāi)成多個(gè)獨(dú)立文件。例如, 一個(gè)應(yīng)用系統(tǒng)提供三種
界面主題a、 b、 c,則可以把界面主題a所需要的所有資源文件打包成一個(gè)獨(dú) 立的,界面主題b所需要的資源文件打包成一個(gè)獨(dú)立的,界面主題c所需的所 有資源文件打包成一個(gè)獨(dú)立的,分別是a.jar、 b.jar和c.jar,將這三個(gè)文件都存 放到類(lèi)路徑中,因此,對(duì)于界面主題管理來(lái)說(shuō),就可以查找到全部這三種界面 主題的資源文件了。
裝載單元304,用于裝載所述確定的界面主題資源。
知ii^戶端請(qǐng)求的界面主題資源的類(lèi)路徑,調(diào)用裝載單元將所述界面主題
資源類(lèi)文件爿Mv類(lèi)路徑中裝載,實(shí)現(xiàn)界面主題的更換。
進(jìn)一步,還包括傳輸單元305,用于將所述裝載的界面主題資源以流的方 式傳輸至所述請(qǐng)求的客戶端,在客戶端顯示更換后的界面主題。
根據(jù)客戶端的url,將所述更換后的界面主題傳輸至所述請(qǐng)求更換界面 主題的客戶端。所述傳輸?shù)姆绞娇梢允嵌M(jìn)制流的方式,也可以是其他方式, 本發(fā)明并不對(duì)此進(jìn)行限定,本發(fā)明優(yōu)選采用二進(jìn)制流的方式傳輸所述更換后的 界面主題至客戶端。
進(jìn)一步,還包括資源組織單元306,用于組織界面主題資源,打包存儲(chǔ)所 述界面主題資源至應(yīng)用服務(wù)系統(tǒng)的類(lèi)路徑中。
所述資源組織單元單獨(dú)打包界面主題資源,獨(dú)立存放所述界面主題資源至 應(yīng)用服務(wù)系統(tǒng)的類(lèi)路徑中。
參照?qǐng)D4,示出了本發(fā)明另一實(shí)施例一種更換界面主題的系統(tǒng)的結(jié)構(gòu)框 圖,包括
接受請(qǐng)求單元401,用于接受客戶端的請(qǐng)求。
當(dāng)客戶端要更換界面主題時(shí),則向服務(wù)器發(fā)出更換界面主題的請(qǐng)求,所述 服務(wù)器接收所述客戶端更換界面主題的請(qǐng)求。
解析單元402,用于根據(jù)客戶端的請(qǐng)求,解析出客戶端請(qǐng)求裝載的界面主
題資源。
月良務(wù)器端接收客戶端的統(tǒng)一資源定位符(Uniform Resource Locator, URL ) 根據(jù)所述URL解析出客戶端請(qǐng)求裝栽的界面主題。URL的作用是告訴瀏覽器 使用什么協(xié)議,以及在網(wǎng)絡(luò)的什么地方去尋找下載的文件。URL用來(lái)定義Web 網(wǎng)頁(yè)的地址。根據(jù)客戶端的URL就可以解析出客戶端所要請(qǐng)求的資源地址以 及所要請(qǐng)求的資源名稱。
定位單元403,用于定位所述請(qǐng)求的界面主題資源,確定所述請(qǐng)求裝載的 界面主題資源的類(lèi)路徑。
本發(fā)明所述的界面主題資源是按照一定的目錄形式組織的,每個(gè)界面主題 或與主題相關(guān)的文件,都存放在一個(gè)單獨(dú)的文件夾中,當(dāng)需要增加一種新的界 面主題時(shí),只需再建立一個(gè)類(lèi)似的文件夾即可。在本發(fā)明中,可以將任何位置 的文件或文件夾存放于類(lèi)路徑中,因此,對(duì)于應(yīng)用系統(tǒng),將所需的界面主題資 源文件存放在類(lèi)路徑中即可。服務(wù)器端在根據(jù)客戶端的請(qǐng)求定位界面主題資源 時(shí),是在整個(gè)類(lèi)路徑中定位的,不需要一定將資源文件存放在應(yīng)用系統(tǒng)的目錄 下。
進(jìn)一步,由于在定位界面主題資源時(shí),是在類(lèi)路徑中定位的,這種機(jī)制決 定了界面主題資源可以被分開(kāi)成多個(gè)獨(dú)立文件。例如, 一個(gè)應(yīng)用系統(tǒng)提供三種 界面主題a、 b、 c,則可以把界面主題a所需要的所有資源文件打包成一個(gè)獨(dú) 立的,界面主題b所需要的資源文件打包成一個(gè)獨(dú)立的,界面主題c所需的所 有資源文件打包成一個(gè)獨(dú)立的,分別是a.jar、 b.jar和c.jar,將這三個(gè)文件都存 放到類(lèi)路徑中,因此,對(duì)于界面主題管理來(lái)說(shuō),就可以查找到全部這三種界面 主題的資源文件了。
判斷單元404,用于判斷是否存在所述請(qǐng)求的界面主題資源,如果不存在
則調(diào)用裝載單元405裝載所述確定的界面主題資源。 裝載單元405,用于裝載所述確定的界面主題資源。
知道客戶端請(qǐng)求的界面主題資源的類(lèi)路徑,調(diào)用裝載單元將所述界面主題 資源類(lèi)文件從類(lèi)路徑中裝載,實(shí)現(xiàn)界面主題的更換。
進(jìn)一步,還包括傳輸單元406,用于將所述裝載的界面主題資源以流的方 式傳輸至所述請(qǐng)求的客戶端,在客戶端顯示更換后的界面主題。
根據(jù)客戶端的URL,將所述更換后的界面主題傳輸至所述請(qǐng)求更換界面
主題的客戶端。所述傳輸?shù)姆绞娇梢允嵌M(jìn)制流的方式,也可以是其他方式,
本發(fā)明并不對(duì)此進(jìn)行限定,本發(fā)明優(yōu)選采用二進(jìn)制流的方式傳輸所述更換后的
界面主題至客戶端。
進(jìn)一步,還包括資源組織單元407,用于組織界面主題資源,打包存儲(chǔ)所 述界面主題資源至應(yīng)用服務(wù)系統(tǒng)的類(lèi)路徑中。
所述資源組織單元單獨(dú)打包界面主題資源,獨(dú)立存放所述界面主題資源至 應(yīng)用服務(wù)系統(tǒng)的類(lèi)路徑中。
以上對(duì)本發(fā)明所提供的一種更換界面主題的方法和系統(tǒng)進(jìn)行了詳細(xì)介紹,
說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般 技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處, 綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1、一種更換界面主題的方法,其特征在于,包括接受客戶端的請(qǐng)求;根據(jù)所述客戶端的請(qǐng)求,解析出客戶端請(qǐng)求裝載的界面主題資源;定位所述請(qǐng)求的界面主題資源,確定所述請(qǐng)求裝載的界面主題資源的類(lèi)路徑;裝載所述確定的界面主題資源。
2、 如權(quán)利要求1所述的更換界面主題的方法,其特征在于,在所述裝載 確定的界面主題資源步驟后還包括將所述裝載的界面主題資源以流的方式傳輸至所述請(qǐng)求的客戶端,在客戶 端顯示所述更換后的界面主題。
3、 如權(quán)利要求1所述的更換界面主題的方法,其特征在于,還包括 組織界面主題資源,打包存儲(chǔ)所述界面主題資源至應(yīng)用服務(wù)系統(tǒng)的類(lèi)路徑中。
4、 如權(quán)利要求3所述的更換界面主題的方法,其特征在于 單獨(dú)打包所述界面主題資源,獨(dú)立存放至應(yīng)用服務(wù)系統(tǒng)的類(lèi)路徑中。
5、 如權(quán)利要求1所述的更換界面主題的方法,其特征在于,在所述定位 請(qǐng)求的界面主題資源步驟后還包括判斷是否存在所述請(qǐng)求的界面主題資源,如果不存在所述請(qǐng)求的界面主題 資源則裝載默認(rèn)的界面主題資源,存在則進(jìn)入下一步。
6、 一種更換界面主題的系統(tǒng),其特征在于,包括 接受請(qǐng)求單元,用于接受客戶端的請(qǐng)求;解析單元,用于根據(jù)客戶端的請(qǐng)求,解析出客戶端請(qǐng)求裝載的界面主題資源;定位單元,用于定位所述請(qǐng)求的界面主題資源,確定所述請(qǐng)求裝載的界面主題資源的類(lèi)路徑;裝載單元,用于裝載所述確定的界面主題資源。
7、 如權(quán)利要求6所述的更換界面主題的系統(tǒng),其特征在于,還包括 傳輸單元,用于將所述裝載的界面主題資源以流的方式傳輸至所述請(qǐng)求的客戶端,在客戶端顯示所述更換后的界面主題。
8、 如權(quán)利要求6所述的更換界面主題的系統(tǒng),其特征在于,還包括 資源組織單元,用于組織界面主題資源,打包存儲(chǔ)所述界面主題資源至應(yīng)用服務(wù)系統(tǒng)的類(lèi)路徑中。
9、 如權(quán)利要求8所述的更換界面主題的系統(tǒng),其特征在于 所述資源組織單元單獨(dú)打包界面主題資源,獨(dú)立存放所述界面主題資源至應(yīng)用服務(wù)系統(tǒng)的類(lèi)路徑中。
10、 如權(quán)利要求6所述的更換界面主題的系統(tǒng),其特征在于,還包括 判斷單元,用于判斷是否存在所述請(qǐng)求的界面主題資源,如果不存在所述載單元裝載所述確定的界面主題資源。
全文摘要
本發(fā)明提供了一種更換界面主題的方法,包括接受客戶端的請(qǐng)求;根據(jù)所述客戶端的請(qǐng)求,解析出客戶端請(qǐng)求裝載的界面主題資源;定位所述請(qǐng)求的界面主題資源,確定所述請(qǐng)求裝載的界面主題資源的類(lèi)路徑;裝載所述確定的界面主題資源。通過(guò)發(fā)明實(shí)現(xiàn)界面主題的管理,web應(yīng)用系統(tǒng)不需要修改代碼也不需要重新部署即可增加新的界面主題資源,可增加任意多的界面主題資源,極大提高了界面主題管理的可擴(kuò)展能力。本發(fā)明還公開(kāi)了一種更換界面主題的系統(tǒng)。
文檔編號(hào)G06F17/30GK101106578SQ200710147628
公開(kāi)日2008年1月16日 申請(qǐng)日期2007年8月31日 優(yōu)先權(quán)日2007年8月31日
發(fā)明者旭 張 申請(qǐng)人:金蝶軟件(中國(guó))有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1