頁面靜態(tài)化技術(shù)

頁面靜態(tài)化概述

靜態(tài)頁面:

最早的時候前弯,網(wǎng)站內(nèi)容是通過在主機空間中放置大量的靜態(tài)網(wǎng)頁實現(xiàn)的。為了方便對這些分散在不同目錄的靜態(tài)網(wǎng)頁的管理骨饿,(一般是通過FTP)鳖擒,象frontpage/dreamweaver這樣軟件甚至直接提供了向主頁空間以FTP方式直接訪問文件的功能。以靜態(tài)網(wǎng)頁為主的網(wǎng)站最大的困難在于對網(wǎng)頁的管理芋忿,在這種框架里炸客,網(wǎng)頁框架和網(wǎng)頁中的內(nèi)容混雜在一起,很大程度地加大了內(nèi)容管理的難度戈钢。為了減輕這種管理的成本痹仙,發(fā)展出了一系列的技術(shù),甚至連css本身殉了,原本也是針對這種亂七八糟的網(wǎng)頁維護而設(shè)計的开仰,目的就是把網(wǎng)頁表達(dá)的框架和內(nèi)容本身抽象分離出來。

A.靜態(tài)網(wǎng)頁的內(nèi)容穩(wěn)定薪铜,頁面加載速度快众弓。

B.靜態(tài)網(wǎng)頁的沒有數(shù)據(jù)庫支持,在網(wǎng)站制作和維護方面的工作量較大隔箍。

C.靜態(tài)網(wǎng)頁的交互性差谓娃,有很大的局限性。

動態(tài)頁面:

通過執(zhí)行asp蜒滩、php滨达、jsp和.net等程序生成客戶端網(wǎng)頁代碼的網(wǎng)頁奶稠。通常可以通過網(wǎng)站后臺管理系統(tǒng)對網(wǎng)站的內(nèi)容進行更新管理捡遍。發(fā)布新聞锌订,發(fā)布公司產(chǎn)品,交流互動画株,博客瀑志,網(wǎng)上調(diào)查等,這都是動態(tài)網(wǎng)站的一些功能污秆。也是我們常見的劈猪。 常見的擴展名有:.asp、php良拼、jsp战得、cgi和aspx 等。 注意:動態(tài)頁面的“動態(tài)”是網(wǎng)站與客戶端用戶互動的意思庸推,而非網(wǎng)頁上有動畫的就是動態(tài)頁面常侦。

A.交互性好。

B.動態(tài)網(wǎng)頁的信息都需要從數(shù)據(jù)庫中讀取贬媒,每打開一個一面就需要去獲取一次數(shù)據(jù)庫聋亡,如果訪問人數(shù)很多,也就會對服務(wù)器增加很大的荷載际乘,從而影響這個網(wǎng)站的運行速度坡倔。

其實大家都知道,效率最高脖含、消耗最小的就是純靜態(tài)化的html頁面罪塔,所以我們盡可能使我們的網(wǎng)站上的頁面采用靜態(tài)頁面來實現(xiàn),這個最簡單的方法其實也是最有效的方法养葵。

為什么需要動態(tài)頁面靜態(tài)化:

1) 搜索引擎的優(yōu)化

盡管搜索機器人有點討厭征堪,各個網(wǎng)站不但不會再象從前一樣把它封起來,反而熱情無比地搞SEO关拒,所謂的面向搜索引擎的優(yōu)化佃蚜,其中就包括訪問地址的改寫,令動態(tài)網(wǎng)頁看上去是靜態(tài)網(wǎng)頁着绊,以便更多更大量地被搜索引擎收錄谐算,從而最大限度地提高自已的內(nèi)容被目標(biāo)接收的機會。但是畔柔,在完全以動態(tài)技術(shù)開發(fā)的網(wǎng)站氯夷,轉(zhuǎn)眼中要求變換成靜態(tài)網(wǎng)頁提供,同時靶擦,無論如何腮考,動態(tài)網(wǎng)頁的內(nèi)容管理功能也是必須保留的;就如同一輛飛駛的奔馳忽然要求180度轉(zhuǎn)彎玄捕,要付出的成本代價是非常大的踩蔚,是否真的值得,也確實讓人懷疑枚粘。

2) 提高程序性能

很多大型網(wǎng)站馅闽,進去的時候看它很復(fù)雜的頁面,但是加載也沒有耗費多長時間馍迄,除了其它必要原因以外福也,靜態(tài)化也是其中必需考慮的技術(shù)之一。

先于用戶獲取資源或數(shù)據(jù)庫數(shù)據(jù)進而通過靜態(tài)化處理攀圈,生成靜態(tài)頁面暴凑,所有人都訪問這一個靜態(tài)頁面,而靜態(tài)化處理的頁面本身的訪問速度要較動態(tài)頁面快很多倍赘来,因此程序性能會有大大的提升现喳。

靜態(tài)化在頁面上的體現(xiàn)為:訪問速度加快,用戶體驗性明顯提升犬辰;在后臺體現(xiàn)為:訪問脫離數(shù)據(jù)庫嗦篱,減輕了數(shù)據(jù)庫訪問壓力。

FreeMarker實現(xiàn)頁面靜態(tài)化

FreeMarker是什么:

FreeMarker是一個基于Java的開發(fā)包和類庫的一種將模板和數(shù)據(jù)進行整合并輸出文本的通用工具幌缝,F(xiàn)reeMarker實現(xiàn)頁面靜態(tài)化的原理是:將頁面中所需要的樣式寫入到FreeMarker模板文件中灸促,然后將頁面所需要的數(shù)據(jù)進行動態(tài)綁定并放入到Map中,然后通過FreeMarker的模板解析類process()方法完成靜態(tài)頁面的生成涵卵。

模板引擎:一種基于模板的腿宰、用來生成輸出文本的通用工具;基于Java的開發(fā)包和類庫缘厢。

FreeMarker能做什么:

MVC框架中的View層組件吃度、html頁面靜態(tài)化、代碼生成工具和CMS模板引擎贴硫。

為什么要用FreeMarker:

程序邏輯(Java 程序)和頁面設(shè)計(FreeMarker模板)分離椿每;

分層清晰,利于分工合作英遭;

主流Web框架良好的集成(struts2间护,springmvc);

簡單易學(xué)挖诸、功能強大汁尺;

免費開源。


Velocity實現(xiàn)頁面靜態(tài)化

Velocity是什么:

Velocity是一個基于Java的模板引擎(template engine)多律。它允許任何人僅僅使用簡單的模板語言(template language)來引用由Java代碼定義的對象痴突。

Velocity的應(yīng)用:

當(dāng)Velocity應(yīng)用于Web開發(fā)時搂蜓,界面設(shè)計人員可以和Java程序開發(fā)人員同步開發(fā)一個遵循MVC架構(gòu)的web站點,也就是說辽装,頁面設(shè)計人員可以只關(guān)注頁面的顯示效果帮碰,而由Java程序開發(fā)人員關(guān)注業(yè)務(wù)邏輯編碼。Velocity將Java代碼從web頁面中分離出來拾积,這樣為web站點的長期維護提供了便利殉挽,同時也為我們在JSP和PHP之外又提供了一種可選的方案。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拓巧,一起剝皮案震驚了整個濱河市斯碌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肛度,老刑警劉巖傻唾,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異贤斜,居然都是意外死亡策吠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門瘩绒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來猴抹,“玉大人,你說我怎么就攤上這事锁荔◇案” “怎么了?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵阳堕,是天一觀的道長跋理。 經(jīng)常有香客問我,道長恬总,這世上最難降的妖魔是什么前普? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮壹堰,結(jié)果婚禮上拭卿,老公的妹妹穿的比我還像新娘。我一直安慰自己贱纠,他們只是感情好峻厚,可當(dāng)我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谆焊,像睡著了一般惠桃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天辜王,我揣著相機與錄音劈狐,去河邊找鬼。 笑死誓禁,一個胖子當(dāng)著我的面吹牛懈息,可吹牛的內(nèi)容都是我干的肾档。 我是一名探鬼主播摹恰,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼怒见!你這毒婦竟也來了俗慈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤遣耍,失蹤者是張志新(化名)和其女友劉穎闺阱,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舵变,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡酣溃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了纪隙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赊豌。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖绵咱,靈堂內(nèi)的尸體忽然破棺而出碘饼,到底是詐尸還是另有隱情,我是刑警寧澤悲伶,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布艾恼,位于F島的核電站,受9級特大地震影響麸锉,放射性物質(zhì)發(fā)生泄漏钠绍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一花沉、第九天 我趴在偏房一處隱蔽的房頂上張望柳爽。 院中可真熱鬧,春花似錦主穗、人聲如沸泻拦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽争拐。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間架曹,已是汗流浹背隘冲。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绑雄,地道東北人展辞。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像万牺,于是被迫代替她去往敵國和親罗珍。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容