一種頁面定制化的方法和裝置的制造方法
【技術領域】
[0001]本發明涉及頁面推送技術領域,尤其涉及一種頁面定制化的方法和裝置。
【背景技術】
[0002]為了滿足用戶的上網需求,目前很多商家都提供了免費WIFI (WirelessFidelity,無線保真)上網的功能,當未認證用戶連接商家提供的WIFI進行認證并連接互聯網時,商家會向用戶推送特定門戶網站站點登錄頁面,該登陸頁面通常包含了網站設定的廣告頁面。
[0003]目前常見的Portal門戶推廣頁面,一方面,為了直觀展示通常都會加載大量廣告圖,直接導致頁面加載變慢,而為了節約加載圖片的時間,往往只能控制圖片的大小,進而影響顯示的效果;另一方面,展示的頁面相對固定單一,無法自定義頁面的樣式,頁面代碼的復用率不高。
【發明內容】
[0004]本發明的目的在于提供一種頁面定制化的方法和裝置,旨在解決現有技術中推送頁面加載速度慢,展示頁面單一的問題。
[0005]本發明第一方面,提供一種頁面定制化的方法,包括:
[0006]獲取待顯示網頁中包含的內容數據,根據獲取的內容數據生成所述待顯示頁面的動態頁面;
[0007]將所述動態頁面分解為若干個靜態模板;
[0008]將所述靜態模板保存在服務器;
[0009]當接收到客戶端發送的頁面調用指令時,獲取所述頁面調用指令相關的靜態模板組成待顯示頁面,并返回給所述客戶端。
[0010]本發明第二方面,提供一種頁面定制化的裝置,包括:
[0011]獲取模塊,用于獲取待顯示網頁中包含的內容數據,根據獲取的內容數據生成所述待顯示頁面的動態頁面;
[0012]分解模塊,用于將所述動態頁面分解為若干個靜態模板;
[0013]保存模塊,用于將所述靜態模板保存在服務器;
[0014]組合模塊,用于當接收到客戶端發送的頁面調用指令時,獲取所述頁面調用指令相關的靜態模板組成待顯示頁面,并返回給所述客戶端。
[0015]本發明與現有技術相比存在的有益效果是:本發明提供的技術方案通過將動態頁面分解為若干個靜態模板,并選擇頁面調用指令相關的靜態模板組成待顯示頁面的方法,實現了對頁面的快速加載,同時提高了頁面代碼的復用率。
【附圖說明】
[0016]圖1是本發明實施例一提供的頁面定制化方法的流程圖;
[0017]圖2是本發明實施例二提供的頁面定制化方法的流程圖;
[0018]圖3是本發明實施例二提供的頁面定制化方法中組合不同靜態模板形成待顯示頁面的示意圖;
[0019]圖4是本發明實施例二提供的頁面定制化方法中應用該頁面定制化方法的系統組成示意圖;
[0020]圖5是本發明實施例三提供的頁面定制化裝置的組成示意圖;
[0021]圖6是本發明實施例四提供的頁面定制化裝置的組成示意圖。
【具體實施方式】
[0022]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0023]以下結合具體附圖對本發明的實現進行詳細的描述。
[0024]實施例一:
[0025]圖1是本發明實施例一提供的頁面定制化方法的流程圖,具體包括步驟S101至S104,詳述如下:
[0026]S101、獲取待顯示網頁中包含的內容數據,根據獲取的內容數據生成待顯示頁面的動態頁面。
[0027]動態頁面是通過執行asp、php、jsp或.net framework 4.0等網頁編輯程序生成客戶端網頁代碼的網頁。動態頁面一般以數據庫技術為基礎,實際上動態網頁并不是獨立存在于服務器上的網頁文件,只有當用戶請求時服務器才返回一個完整的網頁。服務器首先獲得用戶的指令,然后到數據庫中查找和指令相對應的數據,再把動態頁面編譯成標準的HTML (HyperText Markup Language,超文本標記語言)代碼,傳遞給用戶瀏覽器進行查看。
[0028]具體地,首先獲取待顯示網頁中包含的內容數據,再根據所獲取的內容數據生成待顯示在用戶瀏覽器上的動態頁面,例如廣告頁面、公司簡介、商品介紹等。
[0029]S102、將動態頁面分解為若干個靜態模板。
[0030]具體地,將動態頁面的內容按照頁面內容的類型進行分解,例如可以將定義網頁文檔的頭部、頁面樣式、定義客戶端的腳本、網頁主體的文本、網頁主體的圖片等部分分別封裝成獨立的頁面文件,作為靜態模板。靜態模板相對于動態頁面而言,不需要與后臺數據庫交互,作為一個獨立的文件單獨存在,可以直接被讀取調用。
[0031]S103、將靜態模板保存在服務器。
[0032]具體地,步驟S102得到的靜態模板,因為不需要與后臺數據庫交互,也不需要讀取相關的配置文件,可以作為一個獨立的文件保存在服務器上,當需要使用的時候直接被讀取調用。
[0033]S104、當接收到客戶端發送的頁面調用指令時,獲取頁面調用指令相關的靜態模板組成待顯示頁面,并返回給客戶端。
[0034]具體地,服務器上保存了各種獨立的靜態模板,當接收到客戶端發送的頁面調用指令時,服務器根據頁面調用指令的要求,選擇讀取相關的靜態模板,組成待顯示的頁面,并返回給客戶端瀏覽器查看。
[0035]本實施例中,通過將動態頁面分解成若干個靜態模板,并保存在服務器上,當接收到客戶端發送的頁面調用指令時,獲取頁面調用指令相關的靜態模板組成待顯示頁面,并提供給客戶端,從而減少了對數據庫的查詢,實現了對頁面的快速加載,同時提高了頁面代碼的復用率。
[0036]實施例二:
[0037]圖2是本發明實施例二提供的頁面定制化方法的流程圖,具體包括步驟S201至S207,詳述如下:
[0038]S101、獲取待顯示網頁中包含的內容數據,根據獲取的內容數據生成待顯示頁面的動態頁面。
[0039]動態頁面是通過執行asp、php、jsp或.net framework 4.0等網頁編輯程序生成客戶端網頁代碼的網頁。動態頁面一般以數據庫技術為基礎,實際上動態網頁并不是獨立存在于服務器上的網頁文件,只有當用戶請求時服務器才返回一個完整的網頁。服務器首先獲得用戶的指令,然后到數據庫中查找和指令相對應的數據,再把動態頁面編譯成標準的HTML (HyperText Markup Language,超文本標記語言)代碼,傳遞給用戶瀏覽器進行查看。
[0040]具體地,首先獲取待顯示網頁中包含的內容數據,再根據所獲取的內容數據生成待顯示在用戶瀏覽器上的動態頁面,例如廣告頁面、公司簡介、商品介紹等。
[0041]S202、將動態頁面按照頁面內容的類型,分解為若干個HTML頁面,作為靜態模板。
[0042]將動態頁面的內容按照頁面內容的類型進行分解,例如可以將定義網頁文檔的頭部、頁面樣式、定義客戶端的腳本、網頁主體的文本、網頁主體的圖片等部分分別封裝成獨立的HTML頁面文件,作為靜態模板。HTML頁面相對于動態頁面而言,不需要與后臺數據庫交互,作為一個獨立的文件單獨存在,可以直接被讀取調用。
[0043]具體地,首先可以將動態頁面上的<head>〈/head>封裝成一個HTML模塊,將樣式CSS (Cascading Style Sheets,層疊樣式表)封裝成一個 HTML模塊,將 <script>〈/script>里面的JavaScript腳本封裝成一個HTML模塊,將〈bodyXbody〉中的DIV (Divis1n,層疊樣式表單元的位置和層次)按照設計圖的布局逐行切圖,包含背景、圖標和按鈕等,然后查詢數據庫的情況并分解成若干個后綴名為ftl的Freemarker模板文件。
[0044]然后,通過調用javax.servlet.ServletConte類中的方法生成HTML頁面輸出流,并調用freemarker.template.Configurat1n類中的方法setEncoding根據項目編碼設置編碼格式,調用freemarker.template.Template類中的方法process處理模板,將封裝好的HTML模塊分別轉成HTML頁面。
[0045]S203、接收頁面樣式修改指令,頁面樣式修改指令用于指示服務器修改動態頁面。
[0046]具體地,當需要對動態頁面的樣式進行自定義修改時,服務器會接收到頁面樣式的修改指令,該指令用于指示服務器修改動態頁面的樣式。
[0047]S204、修改頁面樣式修改指令指向的動態頁面對應的靜態模板。
[0048]具體地,由于動態頁面的各部分內容已經被分解成若干HTML頁面,因此當接收到頁面樣式修改指令,需對動態頁面的樣式進行自定義修改時,不需要修改整個頁面文件,只需要對頁面樣式修改指令指向的動態頁面對應的HTML頁面進行修改即可。
[0049]S205、啟動預先設置的定時任務對靜態模板定時更新。
[0050]具體地,當客戶端顯示的頁面內容需要按時間規律定時變化時,可啟動預先設置的定時任務,該定時任務負責根據所需變化的顯示內容定時生成對應的HTML頁面,供客戶端調用,從而可以有效減少后臺管理人員手動生成HTML頁面的任務量。
[0051 ] S206、將若干個靜態模板分別保存在不同的子服務器。
[0052]具體地,為了避免高并發時對服務器的壓力,在較大的系統中如果有多臺服務器的情況下,將所生成的若干個HTML頁面分別保存在不同的子服務器上,提高訪問速度,減少對主服務器的壓力。
[0053]S207、當接收到客戶端發送的頁面調用指令時,獲取頁面調用指令相關的靜態模板組成待顯示頁面,并返回給客戶端。
[0054]服務器上保存了各種獨立的HTML頁面,當接收到客戶端發送的頁面調用指令時,服務器根據頁面調用指令的要求,選擇讀取相關的靜態模板,組成待顯示的頁面,并返回給客戶端瀏覽器查看。
[