jsp页面静态化技术资料收集

来源:互联网 发布:linux 6.0语言改为中文 编辑:程序博客网 时间:2024/05/14 20:49

对于大型商城高并发以及为了解决高并发所采用的集群技术,还有利用集群技术所带来的session共享,集群中二级缓存的维护等问题,本人是菜鸟一只,有兴趣探究这些东西。

不过,鉴于自己水平有限,希望可以得到各位大牛,小牛的指点。在这里,这篇东东主要是为了自己学习所用,就是针对商城性能优化所采取的一些技术做个网上资料的摘录。


页面静态化技术:我们浏览器请求动态资源如jsp,asp,.net等,一般是要经过服务器,将jsp(这里以jsp为例)解析成对应的servlet,servlet当中有生成的html,返回给浏览器解析html页面。如果有100个请求,都是请求这个jsp,每次都要经过访问服务器,然后才拿到html(jsp,第一次请求过来解析成servlet,就不会在第二、第三次。。。第n次请求解析成servlet(如果后台数据有更新除外,有更新必须要再次解析jsp),但是还是需要经过web容器返回对应的页面),有没有更好的方式,例如不用解析jsp,然后web容器直接返回html,或者不用经过web容器的响应返回给html呢?为了缓解web容器的压力,此时就是利用页面静态技术,减少对web容器的访问。

下面这段摘自百度百科,对动态变静态的方法有:
动态变静态
方法一:使用现成的插件,比如:ISAPI_Rewrite、IIS Rewrite、Apache HTTP服务器的mod_rewrite等,它们都是基于正则表达式解析器开发的重写引擎。它们的使用方法查看它们自带的帮助即可。
方法二:自己写的代码实现动态网页静态化,方法也有好几种:
1、创建FSO对象,利用此对象将所需的内容动态创建到文件中生成HTML页面;
2、利用模板技术,将模板中特殊代码的值替换为从表单或是数据库字段中接受过来的值 生成HTML文件;
3、使用Server.Transfer转换技术,
方法三:使用HttpWebRequest请求客户端的方式,获取返回资源,生成静态页面。一般这样只需要获取网页内容即可,其它资源可放置在服务器上,自动加载。(注:此方法缺点明显,需要大量更改匹配URL,建议慎用)
方法四:在asp中有IhttpModule接口。Ihttpmodule可以简单理解为一个可以在执行像.aspx,或者mvc中control/action前,添加我们自定义的操作的东西。
我们只需要编写这么一个HttpModule就可以了,当用户第一次请求asp处理时,我们可以在ihttpmodule中拦截到这个请求,然后获取到这次请求应该返回的html代码,然后我们返回这些html给用户,并保存刚才我们获取到的html到文件内,当用户下次请求时,我们只需要直接返回我们已经保存的html文件即可。

下面,以jsp转化成静态页面为例(目前本人做的是java,关注点在java),详细的资料,请看链接 

jsp页面静态化。

还有jsp页面静态化两种实现方法的优缺点


0 0