JSP靜態化技術總結(開源)

2021-08-24 22:43:23 字數 2169 閱讀 5392

jsp靜態化技術總結(開源)

開場白不知道寫點什麼好,最近對自己的生活沒什麼感覺。直接切入正題,本人一向喜歡分享技術,懶得藏著

網上這方面知識大多比較片面而且原理不清晰。所以我想總結一下。

**提高效能的方案有很多,**架構方面考慮,最初的效能優化可以考慮提高單台伺服器的配置。把資料庫

和**分別部署在兩台伺服器,頁面快取,資料快取,靜態化,分布式,**讀寫分離,負載均衡。這些東西都是大型**發展

所必須經歷的公升級過程,前兩種方案非常容易實現,頁面快取j2ee中用的不多,資料快取可以借助hibernate提供的第三方支援,

分布式和讀寫分離,我的方案是使用ejb3,均衡負載可由apache+tomcat提供,我也已經實現。相比於這些web技術,說心裡話

也就是jsp通過html模板生成html頁面,比較高階點的處理就是讓它自動靜態化,其實無論使用什麼框架原理都是相通的。我就刨開

框架的束縛,用最基礎的servlet和jsp實現,自動靜態化技術。

需要乙個過濾器(servlet)實現何時靜態化的判斷,還需要乙個jsp頁面實現靜態化業務,然後需要靜態化頁面的模板

(html),乙個檔案流操作類。

模板頁code

返回首頁

編號:###i1###

###title1###

###author1###

發布日期:

###release_date1###

內容:檢視詳細新聞

修改刪除

編號:###i2###

###title2###

###author2###

發布日期:

###release_date2###

內容:檢視詳細新聞

修改刪除

編號:###i2###

###title2###

###author2###

發布日期:

###release_date2###

內容:檢視詳細新聞

修改刪除

編號:###i3###

###title3###

###author3###

發布日期:

###release_date3###

內容:檢視詳細新聞

修改刪除

編號:###i4###

###title4###

###author4###

發布日期:

###release_date4###

內容:檢視詳細新聞

修改刪除

編號:###i5###

###title5###

###author5###

發布日期:

###release_date5###

內容:檢視詳細新聞

修改刪除

過濾器的過濾方法:

public void dofilter(servletrequest request, servletresponse response,

filterchain chain) throws ioexception, servletexception

} else

chain.dofilter(request, response);

}jsp的處理核心方法:

string modelpath = request.getrealpath("/") + "/news/listnewsmoban.html"; //模板檔案位址

string outhtmlpath = request.getrealpath("/") + "/news/listnews.html";//靜態頁檔案位址

try catch (exception e)

iteratorit = listnews.iterator();

while (it.hasnext() && i <= 5)

fsh.writefile(htmlcode, outhtmlpath);//生成首頁檔案

} catch (exception e)

session.setattribute("updatetime",new date().gettime());

response.sendredirect(request.getcontextpath() + "/index.jsp");

其實原理很簡單。拋磚引玉,再複雜的需求都是由這些基礎**發展起來的。

JSP頁面偽靜態化

1.導包 urlrewritefilter 4.0.3.jar jstl.jar standard.jar 2.在web inf web.xml 增加urlrewritefilter過濾器 urlrewritefilterfilter name org.tuckey.web.filters.urlr...

頁面靜態化技術

第一步 修改配置檔案,在system.web節點下新增 type中寫靜態化處理類名,path中寫要靜態化的頁面 第二步 編寫靜態化處理類 using system using system.collections.generic using system.linq using system.web ...

nginx靜態化技術

通常普通 流程是,使用者請求tomcat伺服器,拿到資料渲染後動態的jsp頁面,返回給使用者,可能優化資料直接放在快取 不訪問資料庫以提高使用者訪問速度 靜態化技術就是讓使用者訪問的資源變成靜態html頁面,針對一些訪問量大 不改動或者改動不頻繁的業務,比如商品詳情頁 上架後資料基本不會變化 生成的...