摘 要:简要介绍了一种通用的,动态树型结构的实现方案,该方案基于asynchronous javascript and xml,结合struts框架设计实现了结构清晰、扩展性良好的多层架构,数据存储于数据库,结合xml描述树的节点信息,使得任何按预定的xml文档描述的信息都可以通过动态树来展现。
关键词:mvc模式;ajax;树型结构;字典序
树型结构是一类应用非常广泛的数据结构。人类社会中宗族的族谱和现代企业的组织形式都是树型结构。在计算机领域中,文件系统中文件的管理结构、存储器管理中的页表、数据库中的索引等也都是树型结构。随着inte.net的飞速发展,树型结构在浏览器/服务器(browser/server,简称b/s)应用系统的应用也越来越广泛。
目前,在互联网上广泛存在、应用的树型结构一般分为两种:静态和动态结构。静态结构存在最多、实现简单,但是静态导致不能改变树的结构和内容,无法反映树的节点信息的变化;而实现相对复杂的动态构造树,虽然可以动态增加、删除、更新节点信息,但是大部分不能直接拖放节点来改变树的结构以及节点间的次序,并且反复刷新整个页面,给用户维护带来了许多不便。本文提出了一种基于ajax(asynchronous javascript and xml)通用的、动态加载节点的解决方案。实现上采用j2ee多层架构,树节点的描述信息采用数据库存储,以可扩展标记语言(extensible markup language,简称xml)展现给javascript解析,支持无刷新地增加、删除、更新节点信息,以及拖放节点来改变树的结构和节点间的次序。文中第1部分简要介绍了ajax技术;第2部分详细介绍了该方案的技术实现过程;第3部分分析了该方案的效率。
1、ajax简介
ajax概念的最早提出者jesse james garrett认为:ajax并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合在共同的协作中发挥各自的作用,它包括:
·使用扩展超媒体标记语言(extended hypertext markup language,简称xhtml)和级联样式单(cascading style sheet,简称css)标准化呈现;
·使用文档对象模型(document object model,简称dom)实现动态显示和交互;
·使用可扩展标记语言(extensible markup language,简称xml)和可扩展样式表转换(extensible stylesheet language transformation,简称xslt)进行数据交换与处理;
·使用xmlhttp组件xmlhttprequest对象进行异步数据读取;
·最后用javascript绑定和处理所有数据。
ajax的工作原理如图1所示,它相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给ajax引擎处理,只有确定需要从服务器读取新数据时再由ajax引擎代为向服务器提交请求。这样就把一些服务器负担的工作转嫁到客户端,利用客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约isp的空间及带宽租用成本的目的。
图 1 未使用ajax(a)和使用ajax(b)的web应用比较
关键字 本文所属关键字相关 与本文相关文章分类 所有文章关键字导航源码编程相关Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏 操作系统/服务器相关Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器 标准 网站致力的规范 |