网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 手机学院 | 邮件系统 | 网络安全 | 认证考试
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > JSP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.html与jsp开发分离技术.
.JS+JSP+JAVABEAN树型列表的实现.
.在JSP环境中如何来配置和使用fck.
.用定制标签库和配置文件实现对JS.
.JSP和JSF双剑合并 打造完美Web应.
.JSP Struts之HTML标签库详解.
.tomcat 5.09 中文问题解决全攻略.
.解析缓冲技术在JSP编程中新的应用.
.JSP生成静态页实践及其设计思想[.
.JSP应用语法详解大全 (3).
.Java和jsp编程中应该注意的问题.
.深入讲解提升JSP应用程序的七个实.
.用JSP实现DOS形式缓冲网页.
.可以使用多个jsp定制标签在JSP中.
.jsp插入mysql数据库后乱码的解决.
.在jsp中作HTTP认证的方法.
.JSP实现浏览器关闭cookies情况下.
.浅析JSP开发中的对象和范围属性.
.用JSP下载word文件(不会直接用I.
.JSP中include指令和include行为区.

解析缓冲技术在JSP编程中新的应用

发表日期:2008-7-7

  一、概述

  在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网站将包含:一个报告最近拍卖活动的管理页面;一个功能完整、带有各种宣传信息的主页;一个特殊的导航条,它包含了用户所有尚未成交的拍卖活动信息。

  二、管理页面

  拍卖网站包含一个管理报表,数据库服务器需要数秒时间才能创建这样一个报表。报表生成时间长这一点很重要,因为我们可能让多个管理员监视系统运行情况,同时又想避免管理员每次访问时都重新生成这个报表。为了实现这一点,我们将把整个页面封装到一个应用级的缓冲标记之内,这个缓冲标记每隔1小时刷新。其他供应商提供的一些产品也具有类似的功能,只是OSCache比它们做得更好。

  为简单计,我们将不过多地关注格式问题。在编写管理页面时,我们首先把标记库声明加入到页面:

<%@ taglib uri="cachetags" prefix="cache" %>

  接下来我们要用cache标记来包围整个页面。cache标记的默认缓冲时间是1小时。

<cache:cache> .... 复杂的管理报表 .... </cache:cache>

  现在管理页面已经被缓冲。如果管理员在页面生成后的一个小时之内再次访问同一页面,他看到的将是以前缓存的页面,不需要由数据库服务器再次生成这个报表。

  三、主页

  拍卖网站的主页显示网站活动情况,宣传那些即将结束的拍卖活动。我们希望显示出正在进行的拍卖活动数量,当前登录用户数量,在短期内就要结束的拍卖活动的清单,以及当前时间。这些信息有着不同的时间精确度要求。网站上的拍卖活动通常持续数天,因此我们可以把缓冲有效拍卖活动数量的时间定为6个小时。用户数量的变化显然要频繁一些,但这里我们将把这个数值每次缓冲15分钟。最后,我们希望页面中显示的当前时间总是精确的页面访问时间。

  在主页中声明标记库之后,我们首先以不带缓冲的方式直接输出当前日期:

  现在是:<%=new java.util.Date()%>

  接下来,我们要显示一个清单,列出那些将在短期内结束的拍卖活动:

<cache:cache> <ul> <% // 构造一个包含最近拍卖活动的Iterator Iterator auctions = .... while (auctions.hasMore()) { Auction auction = (Auction)auctions.next(); %><li><%=auction%></li%< } %> </ul> </cache:cache>

上一篇:Oracle数据库和JSP连接要注意的一些问题 人气:3074
下一篇:在JSP中使用Spring 人气:1310
浏览全部JSP的内容 Dreamweaver插件下载 网页广告代码 2009年新年快乐