一、概述
在Web应用中,有些报表的生成可能需要数据库花很长时间才能计算出来;有的网站提供天气信息,它需要访问远程服务器进行SOAP调用才能得到温度信息。所有这一切都属于复杂信息的例子。在Web页面中加入过多的复杂信息可能导致Web服务器、数据库服务器负荷过重。jsp(SUN企业级应用的首选)(SUN企业级应用的首选)代码块缓冲为开发者带来了随意地增加各种复杂信息的自由。
jsp(SUN企业级应用的首选)(SUN企业级应用的首选)能够在标记库内封装和运行复杂的Java代码,它使得jsp(SUN企业级应用的首选)(SUN企业级应用的首选)页面文件更容易维护,使得非专业开发人员使用jsp(SUN企业级应用的首选)(SUN企业级应用的首选)页面文件更加方便。现在已经有许多标记库,它们或者是商业产品,或者是源代码开放产品。但这些产品中的大多数都只是用标记库的形式实现原本可以用一个简单的Java Scriptlet实现的功能,很少有产品以某种创造性的方式使用定制标记,提供在出现jsp(SUN企业级应用的首选)(SUN企业级应用的首选)定制标记库之前几乎不可能实现的用法。
OSCache标记库由OpenSymphony设计,它是一种开创性的jsp(SUN企业级应用的首选)(SUN企业级应用的首选)定制标记应用,提供了在现有jsp(SUN企业级应用的首选)(SUN企业级应用的首选)页面之内实现快速内存缓冲的功能。虽然已经有一些供应商在提供各种形式的缓存产品,但是,它们都属于面向特定供应商的产品。OSCache能够在任何jsp(SUN企业级应用的首选)(SUN企业级应用的首选) 1.1兼容的服务器上运行,它不仅能够为所有用户缓冲现有jsp(SUN企业级应用的首选)(SUN企业级应用的首选)代码块,而且能够以用户为单位进行缓冲。OSCache还包含一些提高可伸缩性的高级特性,比如:缓冲到磁盘,可编程的缓冲刷新,异常控制,等等。另外,正如OpenSymphony的其他产品,OSCache的代码也在一个开放源代码许可协议之下免费发行。
本文以一个假想的拍卖网站设计过程为例,介绍OSCache的工作过程。这个假想的Web网站将包含:一个报告最近拍卖活动的管理页面;一个功能完整、带有各种宣传信息的主页;一个特殊的导航条,它包含了用户所有尚未成交的拍卖活动信息。
二、管理页面
拍卖网站包含一个管理报表,数据库服务器需要数秒时间才能创