本發(fā)明網(wǎng)站開(kāi)發(fā),尤其涉及一種在網(wǎng)站開(kāi)發(fā)中實(shí)現(xiàn)高可擴(kuò)展性頁(yè)面輸出的方法。
背景技術(shù):
在網(wǎng)站開(kāi)發(fā)中,頁(yè)面的開(kāi)發(fā)通常是由頁(yè)面制作人員使用html(hypertextmarkuplanguage即超文本標(biāo)記語(yǔ)言)標(biāo)簽為基礎(chǔ)構(gòu)建網(wǎng)站頁(yè)面。一個(gè)網(wǎng)站通常有十幾個(gè)乃至數(shù)百個(gè)頁(yè)面構(gòu)成,在頁(yè)面開(kāi)發(fā)過(guò)程中,不僅要面對(duì)數(shù)百個(gè)html標(biāo)簽及其渲染,還需要面對(duì)頁(yè)面制作人員更迭以及對(duì)相關(guān)技術(shù)規(guī)范的理解程度的不同造成的頁(yè)面輸出雜亂的問(wèn)題,這使得頁(yè)面的制作過(guò)程以及頁(yè)面輸出控制變得異常困難,在這種情況下,應(yīng)該為頁(yè)面制作人員提供一個(gè)統(tǒng)一的頁(yè)面輸出的方法替代頁(yè)面制作人員的工作。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所有解決的技術(shù)問(wèn)題是提供一種在網(wǎng)站開(kāi)發(fā)中實(shí)現(xiàn)高可擴(kuò)展性頁(yè)面輸出的方法,可以通過(guò)靈活的配置以適應(yīng)不同的頁(yè)面標(biāo)簽,甚至是自定義的標(biāo)簽,能夠?yàn)榫W(wǎng)站開(kāi)發(fā)提供不同的頁(yè)面輸出方案。
一種在網(wǎng)站開(kāi)發(fā)中實(shí)現(xiàn)高可擴(kuò)展性頁(yè)面輸出的方法,包括以下步驟:
步驟1:寫(xiě)一個(gè)頁(yè)面接口,所有頁(yè)面必須實(shí)現(xiàn)此接口;
步驟2:編寫(xiě)頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件,將文件命名為頁(yè)面的名字,同時(shí)將文件存入頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件目錄;
步驟3:為每一個(gè)頁(yè)面配置頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件并將這些配置信息寫(xiě)入數(shù)據(jù)庫(kù)或者是配置文件;
步驟4:當(dāng)網(wǎng)站啟動(dòng)時(shí),將頁(yè)面配置信息讀入在頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件緩存器內(nèi);
步驟5:當(dāng)用戶(hù)訪問(wèn)網(wǎng)站,根據(jù)用戶(hù)訪問(wèn)的頁(yè)面名稱(chēng)從頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件緩存器中獲取頁(yè)面的頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件;
步驟6:以頁(yè)面名稱(chēng)為參數(shù),從頁(yè)面數(shù)據(jù)結(jié)構(gòu)工廠獲取一個(gè)頁(yè)面實(shí)例;
步驟7:調(diào)用此頁(yè)面實(shí)例的方法,完成頁(yè)面輸出。
作為優(yōu)選,步驟6具有包括以下步驟:
步驟61:頁(yè)面數(shù)據(jù)結(jié)構(gòu)工廠從緩存的頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件字典列表中,以頁(yè)面文件名稱(chēng)為鍵,查找是否有緩存的頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件;
步驟62:如果已經(jīng)有緩存的對(duì)象,直接返回給調(diào)用者;
步驟63:如果沒(méi)有緩存的對(duì)象,從頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件緩存中讀取以頁(yè)面名字所對(duì)應(yīng)的頁(yè)面數(shù)據(jù)結(jié)構(gòu)目錄中的頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件,根據(jù)這些信息,用反射的方式生成一個(gè)頁(yè)面實(shí)例對(duì)象;
步驟64:把生成的頁(yè)面實(shí)例對(duì)象緩存在頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件字典列表中,并將此對(duì)象返回給調(diào)用者。
本發(fā)明的在網(wǎng)站開(kāi)發(fā)中實(shí)現(xiàn)高可擴(kuò)展性頁(yè)面輸出的方法,網(wǎng)站頁(yè)面的開(kāi)發(fā)人員可以方便靈活的為不同網(wǎng)站頁(yè)面編寫(xiě),配置不同的頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件,這種可配置的頁(yè)面可以隨意附加到網(wǎng)站服務(wù)器中,修改一個(gè)已有的頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件或者增加一個(gè)新的都不會(huì)對(duì)其他邏輯構(gòu)成任何影響。
具體實(shí)施方式
本發(fā)明提供一種在網(wǎng)站開(kāi)發(fā)中實(shí)現(xiàn)高可擴(kuò)展性頁(yè)面輸出的方法,包括以下步驟:
步驟1:寫(xiě)一個(gè)頁(yè)面接口,所有頁(yè)面必須實(shí)現(xiàn)此接口;
步驟2:使用任意文本編輯器編寫(xiě)頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件,將文件命名為頁(yè)面的名字,同時(shí)將文件存入頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件目錄;
步驟3:使用頁(yè)面配置管理工具為每一個(gè)頁(yè)面配置頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件并將這些配置信息寫(xiě)入數(shù)據(jù)庫(kù)或者是配置文件;
步驟4:當(dāng)網(wǎng)站啟動(dòng)時(shí),初始化一個(gè)頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件緩存器,并將頁(yè)面配置信息讀入內(nèi)存,進(jìn)行緩存;
步驟5:當(dāng)用戶(hù)訪問(wèn)網(wǎng)站,網(wǎng)站服務(wù)器根據(jù)用戶(hù)訪問(wèn)的頁(yè)面名稱(chēng)從頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件緩存器中獲取頁(yè)面的頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件;
步驟6:網(wǎng)站服務(wù)器以頁(yè)面名稱(chēng)為參數(shù),從頁(yè)面數(shù)據(jù)結(jié)構(gòu)工廠獲取一個(gè)頁(yè)面實(shí)例;
步驟7:網(wǎng)站服務(wù)器調(diào)用此頁(yè)面實(shí)例的方法,完成頁(yè)面輸出。
步驟6具體包括以下步驟:
步驟61:頁(yè)面數(shù)據(jù)結(jié)構(gòu)工廠從緩存的頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件字典列表中,以頁(yè)面文件名稱(chēng)為鍵,查找是否有緩存的頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件;
步驟62:如果已經(jīng)有緩存的對(duì)象,直接返回給調(diào)用者;
步驟63:如果沒(méi)有緩存的對(duì)象,從頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件緩存中讀取以頁(yè)面名字所對(duì)應(yīng)的頁(yè)面數(shù)據(jù)結(jié)構(gòu)目錄中的頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件,根據(jù)這些信息,用反射的方式生成一個(gè)頁(yè)面實(shí)例對(duì)象;
步驟64:把生成的頁(yè)面實(shí)例對(duì)象緩存在頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件字典列表中,并將此對(duì)象返回給調(diào)用者。
上述的技術(shù)方案實(shí)施時(shí),網(wǎng)站頁(yè)面的開(kāi)發(fā)人員可以很方便靈活的為不同網(wǎng)站頁(yè)面編寫(xiě),配置不同的頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件,這種可配置的網(wǎng)站頁(yè)面可以隨意附加到網(wǎng)站服務(wù)器中,修改一個(gè)已有的頁(yè)面數(shù)據(jù)結(jié)構(gòu)文件或者增加一個(gè)新的都不會(huì)對(duì)其他邏輯構(gòu)成任何影響,這使得開(kāi)發(fā)新的網(wǎng)站頁(yè)面將變得非常容易。