欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

服務(wù)器端包含技術(shù)改進(jìn)的方法和裝置的制造方法

文檔序號:9524020閱讀:283來源:國知局
服務(wù)器端包含技術(shù)改進(jìn)的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種服務(wù)器端包含技術(shù)改進(jìn)的方法和裝置。
【背景技術(shù)】
[0002]在tomcat中部署網(wǎng)站時(shí)有很多關(guān)于服務(wù)端網(wǎng)頁嵌入的場景,在這些場景中將內(nèi)容發(fā)送到瀏覽器之前,可以使用“服務(wù)器端包含(SSI,即Server Side Include) ”指令將文本、圖形或應(yīng)用程序信息包含到網(wǎng)頁中。
[0003]在tomcat容器中,有關(guān)于SSI指令處理的相關(guān)技術(shù),主要包括兩種實(shí)現(xiàn)方式:一種是基于過濾器Filter來實(shí)現(xiàn)的請求過濾,另一種是基于servlet實(shí)現(xiàn)的請求處理。
[0004]tomcat中這兩種SSI技術(shù)的實(shí)現(xiàn)原理基本相似:對響應(yīng)對象進(jìn)行自定義封裝,然后添加一個(gè)獲取響應(yīng)數(shù)據(jù)方法,在過濾器內(nèi)通過該方法對響應(yīng)內(nèi)數(shù)據(jù)進(jìn)行復(fù)制,對復(fù)制的數(shù)據(jù)進(jìn)行SSI指令過濾處理。
[0005]然而,現(xiàn)有的關(guān)于SSI指令處理技術(shù)存在以下缺點(diǎn):
[0006]1.使用tomcat中的SSI技術(shù)嚴(yán)重影響網(wǎng)頁的加載速度。
[0007]2.使用tomcat中的SSI技術(shù)時(shí),由于采用了對響應(yīng)內(nèi)數(shù)據(jù)復(fù)制的數(shù)據(jù)進(jìn)行SSI指令處理,當(dāng)有大并發(fā)訪問時(shí)會產(chǎn)生大量的復(fù)制數(shù)據(jù),占用系統(tǒng)內(nèi)存,影響系統(tǒng)并發(fā)性能。

【發(fā)明內(nèi)容】

[0008]有鑒于此,本發(fā)明提供一種服務(wù)器端包含技術(shù)改進(jìn)的方法和裝置,能夠省去對響應(yīng)數(shù)據(jù)的內(nèi)存復(fù)制操作,從而提高使用tomcat中的SSI技術(shù)時(shí)的網(wǎng)頁加載速度,并且在有大并發(fā)訪問時(shí)避免產(chǎn)生大量的垃圾對象影響系統(tǒng)性能。
[0009]為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種服務(wù)器端包含技術(shù)改進(jìn)的方法包括:創(chuàng)建包裝類對服務(wù)器的響應(yīng)進(jìn)行封裝,并在所述包裝類中自定義輸出流實(shí)現(xiàn)類;向所述輸出流實(shí)現(xiàn)類中寫入響應(yīng)數(shù)據(jù);將所寫入的響應(yīng)數(shù)據(jù)返回瀏覽器,其中向所述輸出流實(shí)現(xiàn)類中寫入響應(yīng)數(shù)據(jù)還包括:在向所述輸出流實(shí)現(xiàn)類寫入響應(yīng)數(shù)據(jù)的過程中,遍歷檢測響應(yīng)數(shù)據(jù)是否包括服務(wù)器端包含指令,若包括,則對所述服務(wù)器端包含指令進(jìn)行處理,并向所述輸出流實(shí)現(xiàn)類寫入處理后的響應(yīng)數(shù)據(jù);若不包括,則直接向所述輸出流實(shí)現(xiàn)類寫入響應(yīng)數(shù)據(jù)。
[0010]可選地,所述方法還包括:在創(chuàng)建包裝類對服務(wù)器的響應(yīng)進(jìn)行封裝之前,判斷對服務(wù)器的響應(yīng)是否進(jìn)行攔截,若攔截,則攔截并進(jìn)行封裝,若不攔截,則直接向?yàn)g覽器返回響應(yīng)。
[0011]可選地,判斷對服務(wù)器的響應(yīng)是否進(jìn)行攔截包括:根據(jù)瀏覽器發(fā)送請求的請求路徑判斷是否攔截,按照預(yù)設(shè)規(guī)則設(shè)定攔截路徑名單,若所述請求的請求路徑與所述攔截路徑名單中的數(shù)據(jù)匹配成功,則對服務(wù)器針對所述請求做出的響應(yīng)進(jìn)行攔截;若所述請求的請求路徑與所述攔截路徑名單中的數(shù)據(jù)匹配不成功,則將服務(wù)器的響應(yīng)直接返回瀏覽器。
[0012]可選地,對所述服務(wù)器端包含指令進(jìn)行處理包括:解析檢測到的服務(wù)器端包含指令,加載對應(yīng)內(nèi)容對服務(wù)器端包含指令進(jìn)行替換。
[0013]根據(jù)本發(fā)明的另一方面,提供一種服務(wù)器端包含技術(shù)改進(jìn)的裝置。
[0014]本發(fā)明服務(wù)端網(wǎng)頁包含技術(shù)的改進(jìn)裝置包括:封裝模塊,用于創(chuàng)建包裝類對服務(wù)器的響應(yīng)進(jìn)行封裝,并在所述包裝類中自定義輸出流實(shí)現(xiàn)類;寫入模塊,用于向所述輸出流實(shí)現(xiàn)類中寫入響應(yīng)數(shù)據(jù);返回模塊,用于將所寫入的響應(yīng)數(shù)據(jù)返回瀏覽器,其中寫入模塊還用于:在向所述輸出流實(shí)現(xiàn)類寫入響應(yīng)數(shù)據(jù)的過程中,遍歷檢測響應(yīng)數(shù)據(jù)是否包括服務(wù)器端包含指令,若包括,則對所述服務(wù)器端包含指令進(jìn)行處理,并向所述輸出流實(shí)現(xiàn)類寫入處理后的響應(yīng)數(shù)據(jù);若不包括,則直接向所述輸出流實(shí)現(xiàn)類寫入響應(yīng)數(shù)據(jù)。
[0015]可選地,所述封裝模塊還用于:在創(chuàng)建包裝類對服務(wù)器的響應(yīng)進(jìn)行封裝之前,判斷對服務(wù)器的響應(yīng)是否進(jìn)行攔截,若攔截,則攔截并進(jìn)行封裝,若不攔截,則直接向?yàn)g覽器返回響應(yīng)。
[0016]可選地,所述封裝模塊還用于:根據(jù)瀏覽器發(fā)送請求的請求路徑判斷是否攔截,按照預(yù)設(shè)規(guī)則設(shè)定攔截路徑名單,若所述請求的請求路徑與所述攔截路徑名單中的數(shù)據(jù)匹配成功,則對服務(wù)器針對所述請求做出的響應(yīng)進(jìn)行攔截;若所述請求的請求路徑與所述攔截路徑名單中的數(shù)據(jù)匹配不成功,則將服務(wù)器的響應(yīng)直接返回瀏覽器。
[0017]可選地,所述寫入模塊還用于:解析檢測到的服務(wù)器端包含指令,加載對應(yīng)內(nèi)容對服務(wù)器端包含指令進(jìn)行替換。
[0018]根據(jù)本發(fā)明的技術(shù)方案,通過在對響應(yīng)攔截前的判斷,從而能避免不必要的處理工作,提高服務(wù)器端返回響應(yīng)的效率;通過將服務(wù)器響應(yīng)攔截,創(chuàng)建包裝類進(jìn)行封裝,并通過重寫的方法,向自定義的輸出流實(shí)現(xiàn)類寫入響應(yīng)數(shù)據(jù),從而能夠在向輸出流實(shí)現(xiàn)類寫入數(shù)據(jù)的過程中檢測SSI指令,并將SSI指令的對應(yīng)內(nèi)容替換到響應(yīng)數(shù)據(jù)中,從而能夠?qū)崿F(xiàn)無需復(fù)制響應(yīng)數(shù)據(jù)就能處理SSI指令,提高使用SSI技術(shù)的網(wǎng)站的并發(fā)性能,并且當(dāng)網(wǎng)站有大并發(fā)時(shí),不會產(chǎn)生大量垃圾對象,避免內(nèi)存溢出。
【附圖說明】
[0019]附圖用于更好地理解本發(fā)明,不構(gòu)成對本發(fā)明的不當(dāng)限定。其中:
[0020]圖1是根據(jù)本發(fā)明實(shí)施例的服務(wù)器端包含技術(shù)改進(jìn)的方法的主要步驟示意圖;
[0021]圖2是根據(jù)本發(fā)明是實(shí)施例的服務(wù)器端包含技術(shù)改進(jìn)的方法主要步驟的流程圖。
[0022]圖3是根據(jù)本發(fā)明實(shí)施例的服務(wù)器端包含技術(shù)改進(jìn)的裝置的主要模塊示意圖。
【具體實(shí)施方式】
[0023]以下結(jié)合附圖對本發(fā)明的示范性實(shí)施例做出說明,其中包括本發(fā)明實(shí)施例的各種細(xì)節(jié)以助于理解,應(yīng)當(dāng)將它們認(rèn)為僅僅是示范性的。因此,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)認(rèn)識至IJ,可以對這里描述的實(shí)施例做出各種改變和修改,而不會背離本發(fā)明的范圍和精神。同樣,為了清楚和簡明,以下的描述中省略了對公知功能和結(jié)構(gòu)的描述。
[0024]圖1是根據(jù)本發(fā)明實(shí)施例的服務(wù)器端包含技術(shù)改進(jìn)的方法的主要步驟示意圖。
[0025]如圖1所示,本發(fā)明的服務(wù)器端包含技術(shù)改進(jìn)的方法主要包括如下步驟:
[0026]步驟S11:創(chuàng)建包裝類對服務(wù)器的響應(yīng)進(jìn)行封裝,并在所述包裝類中自定義輸出流實(shí)現(xiàn)類。在本發(fā)明具體實(shí)施例中,主要基于J2EE過濾器實(shí)現(xiàn),過程如下:對服務(wù)器的響應(yīng)進(jìn)行封裝,簡化對響應(yīng)數(shù)據(jù)的調(diào)用工作,并且通過重寫的方法,使得實(shí)現(xiàn)類對響應(yīng)數(shù)據(jù)進(jìn)行繼承。
[0027]在對響應(yīng)數(shù)據(jù)進(jìn)行封裝之前,需要過濾器對服務(wù)器的響應(yīng)進(jìn)行攔截。但并非所有的服務(wù)器針對瀏覽器的請求做出的響應(yīng)都需要攔截,攔截的過程需要一個(gè)預(yù)判。
[0028]在本發(fā)明【具體實(shí)施方式】中,過濾器對服務(wù)器的響應(yīng)是否攔截的判斷是根據(jù)請求路徑進(jìn)行的。首先,在過濾器內(nèi)配置一個(gè)黑名單和白名單,黑名單是需要被攔截的,白名單則是不攔截的。例如,黑名單配置的攔截路徑是getList,則當(dāng)瀏覽器發(fā)送的請求路徑中包含getList時(shí)該請求的響應(yīng)就會被攔截。判斷黑白名單中是否包含瀏覽器發(fā)送的請求路徑,是通過模糊匹配的算法予以實(shí)現(xiàn)。只要被黑名單匹配成功,則服務(wù)器的響應(yīng)結(jié)果就會被攔截,并予以封裝等處理。
[0029]對服務(wù)器的響應(yīng)進(jìn)行攔截后,需要創(chuàng)建包裝類對服務(wù)器的響應(yīng)進(jìn)行封裝,并在包裝類中自定義輸出流實(shí)現(xiàn)類。完成該步驟的封裝之后,從步驟S12開始處理。
[0030]步驟S12:向所述輸出流實(shí)現(xiàn)類中寫入響應(yīng)數(shù)據(jù)。通過重寫的方法,將包裝類中的數(shù)據(jù)寫入輸出流實(shí)現(xiàn)類。
[0031]向輸出流實(shí)現(xiàn)類寫入響應(yīng)數(shù)據(jù)的過程中,可以一邊寫入數(shù)據(jù)一邊進(jìn)行SSI指令的檢測和處理,可以省去現(xiàn)有技術(shù)中對響應(yīng)數(shù)據(jù)進(jìn)行內(nèi)存復(fù)制的操作,從而可以避免產(chǎn)生大量垃圾對象,提高系統(tǒng)的并發(fā)性能。
[0032]因此,在本發(fā)明的具體實(shí)施例中,在向所述輸出流實(shí)現(xiàn)類寫入響應(yīng)數(shù)據(jù)的過程中,檢測寫入數(shù)據(jù)是否包括SSI指令,如果不包括SSI指令,則直接向輸出流實(shí)現(xiàn)類寫入響應(yīng)數(shù)據(jù),然后返回響應(yīng)頁面給瀏覽器;如果包括SSI指令則對
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
牡丹江市| 新津县| 松阳县| 石河子市| 平利县| 凉城县| 大同市| 阳江市| 陵水| 陆良县| 齐河县| 湘乡市| 湟源县| 荥经县| 江都市| 军事| 肥城市| 两当县| 福州市| 会理县| 临漳县| 修武县| 长垣县| 大安市| 自治县| 阿坝| 宜都市| 邵东县| 临高县| 漠河县| 沧州市| 昆明市| 双牌县| 互助| 安图县| 城口县| 缙云县| 屏南县| 灵璧县| 平泉县| 郑州市|