Java高并发:静态页面生成方案

上一篇 / 下一篇  2012-06-15 08:54:41 / 个人分类:Java

 提升网站性能的方式有很多,例如有效的使用缓存,生成静态页面等等。今天要说的就是生成静态页面的方式。这个也是我近期一直在搞的一个问题,近期在做使用html + servlet做个人网站,为什么是这2个东西呢?51Testing软件测试网3ytB D![!x ~

  1、直接用servlet是为了保证网站能以最快的速度执行命令..个人总感觉像Struts hibernate spring之类的虽然方便但是效能带来的损耗不太能接收

'{x%@!j"A051Testing软件测试网.b7XgOt*M$l1\

  2、使用html同样是为了保证最快的反应速度,毕竟html 比jsp少了一层服务器执行.速度上要快的多51Testing软件测试网S1F`7rBl

]XMm9L9^+Tz ]0  一、在这里要先说一下什么是页面静态化:

,S']-Q/{,D&@+?n051Testing软件测试网t(b#Z1eObP

   简单的说,我们如果访问一个链接http://abc.com/test.do,服务器对应的模块会处理这个请求,转到对应的jsp界面,最后生成我们 想要看到的数据。这其中的缺点是显而易见的:因为每次请求服务器都会进行处理,如果有太多的高并发请求,那么就会加重应用服务器的压力,弄不好就把服务器 搞down 掉了。那么如何去避免呢?如果我们把对test.do 请求后的结果保存成一个 html 文件,然后每次用户都去访问http://abc.com/test.html,这样应用服务器的压力不就减少了?51Testing软件测试网[0@g8@*P ? P

v3|'Q.n4C7c0  那么静态页面从哪里来呢?总不能让我们每个页面都手动处理吧?这里就牵涉到我们要讲解的内容了,静态页面生成方案... 我们需要的是自动的生成静态页面,当用户访问http://abc.com/test.do,会自动生成 test.html ,然后显示给用户。

(N E.FIo wQ,M3nX0

mE |E4@+a0  二、下面我们在简单介绍一下要想掌握页面静态化方案应该掌握的知识点

nnA2J ea"J051Testing软件测试网x sA!b7H%D

  1、 基础— URL Rewrite

U rrvJU&X051Testing软件测试网0}'n'KHg"J&Y\TQ?,F

   什么是 URL Rewrite 呢 ? URL 重写。用一个简单的例子来说明问题:输入网址http://www.abc.com/test.do ,但是实际上访问的却是http://www.abc.com/test.action,那我们就可以说 URL 被重写了。这项技术应用广泛,有许多开源的工具可以实现这个功能。51Testing软件测试网a3Hi)k Ja

51Testing软件测试网Dq:L\-C

  2、 基础— Servletweb.xml

tF2chx;D'^*b051Testing软件测试网)k:v*_7g\.VL

  如果你还不知道 web.xml 中一个请求和一个 servlet 是如何匹配到一起的,那么请搜索一下 servlet 的文档。这可不是乱说呀,有很多人就认为 /xyz/*.do 这样的匹配方式能有效。

o ur(?FO%W051Testing软件测试网h Y'M1lEFY

  如果你还不知道怎么编写一个 servlet ,那么请搜索一下如何编写 servlet。这可不是说笑呀,在各种集成工具漫天飞舞的今天,很多人都不会去从零编写一个 servlet了。

$Rh2l/O5g8t0

"i{z mF0  三、基本的方案介绍51Testing软件测试网7\Kd7Fo(~$aG6T

51Testing软件测试网 u z1K {-Lx0\

  其中,对于 URL Rewriter的部分,可以使用收费或者开源的工具来实现,如果 url不是特别的复杂,可以考虑在 servlet 中实现,那么就是下面这个样子:

1JC;z;l D f0

Ae ozt(Mzq,P0

TAG:

 

评分:0

我来说两句

Open Toolbar