新聞中心
提升網(wǎng)站性能的方式有很多,例如有效的使用緩存,生成靜態(tài)頁(yè)面等等。今天要說的就是生成靜態(tài)頁(yè)面的方式。這個(gè)也是我近期一直在搞的一個(gè)問題,近期在做使用html + servlet做個(gè)人網(wǎng)站,為什么是這2個(gè)東西呢?

1、直接用servlet是為了保證網(wǎng)站能以最快的速度執(zhí)行命令..個(gè)人總感覺像Struts hibernate spring之類的雖然方便但是效能帶來的損耗不太能接收
2、使用html同樣是為了保證最快的反應(yīng)速度,畢竟html 比jsp少了一層服務(wù)器執(zhí)行.速度上要快的多
一、在這里要先說一下什么是頁(yè)面靜態(tài)化:
簡(jiǎn)單的說,我們?nèi)绻L問一個(gè)鏈接 http://abc.com/test.do,服務(wù)器對(duì)應(yīng)的模塊會(huì)處理這個(gè)請(qǐng)求,轉(zhuǎn)到對(duì)應(yīng)的jsp界面,最后生成我們想要看到的數(shù)據(jù)。這其中的缺點(diǎn)是顯而易見的:因?yàn)槊看握?qǐng)求服務(wù)器都會(huì)進(jìn)行處理,如果有太多的高并發(fā)請(qǐng)求,那么就會(huì)加重應(yīng)用服務(wù)器的壓力,弄不好就把服務(wù)器 搞down 掉了。那么如何去避免呢?如果我們把對(duì) test.do 請(qǐng)求后的結(jié)果保存成一個(gè) html 文件,然后每次用戶都去訪問 http://abc.com/test.html ,這樣應(yīng)用服務(wù)器的壓力不就減少了?
那么靜態(tài)頁(yè)面從哪里來呢?總不能讓我們每個(gè)頁(yè)面都手動(dòng)處理吧?這里就牽涉到我們要講解的內(nèi)容了,靜態(tài)頁(yè)面生成方案... 我們需要的是自動(dòng)的生成靜態(tài)頁(yè)面,當(dāng)用戶訪問 http://abc.com/test.do,會(huì)自動(dòng)生成 test.html ,然后顯示給用戶。
二、下面我們?cè)诤?jiǎn)單介紹一下要想掌握頁(yè)面靜態(tài)化方案應(yīng)該掌握的知識(shí)點(diǎn)
1、 基礎(chǔ)— URL Rewrite
什么是 URL Rewrite 呢 ? URL 重寫。用一個(gè)簡(jiǎn)單的例子來說明問題:輸入網(wǎng)址http://www.abc.com/test.do ,但是實(shí)際上訪問的卻是 http://www.abc.com/test.action,那我們就可以說 URL 被重寫了。這項(xiàng)技術(shù)應(yīng)用廣泛,有許多開源的工具可以實(shí)現(xiàn)這個(gè)功能。
2、 基礎(chǔ)— Servlet web.xml
如果你還不知道 web.xml 中一個(gè)請(qǐng)求和一個(gè) servlet 是如何匹配到一起的,那么請(qǐng)搜索一下 servlet 的文檔。這可不是亂說呀,有很多人就認(rèn)為 /xyz/*.do 這樣的匹配方式能有效。
如果你還不知道怎么編寫一個(gè) servlet ,那么請(qǐng)搜索一下如何編寫 servlet。這可不是說笑呀,在各種集成工具漫天飛舞的今天,很多人都不會(huì)去從零編寫一個(gè) servlet了。
三、基本的方案介紹
其中,對(duì)于 URL Rewriter的部分,可以使用收費(fèi)或者開源的工具來實(shí)現(xiàn),如果 url不是特別的復(fù)雜,可以考慮在 servlet 中實(shí)現(xiàn),那么就是下面這個(gè)樣子:
分享文章:Java高并發(fā):靜態(tài)頁(yè)面生成方案
文章網(wǎng)址:http://www.5511xx.com/article/dpjceps.html


咨詢
建站咨詢
