





















1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。
域中。
在国内,现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用技术。
下面就对及其相关技术进行简单的介绍。
技术可以以种简捷而快速的方法生成页面。
使用技术的页面可以很容易地显示动态内容。
技术的设计目的是使得构造基于的应用程序更加容易和快捷,而这些应用程序能够与各种服务器应用服务器浏览器和开发工具共同工作。
技术不是惟的动态网页技术,也不是第个,在技术出现之前就已经存在几种优秀的动态网页技术,如等。
下面结合这些技术的介绍,讲述动态网页技术的发展和技术的诞生。
的开发背景及发展历史在万维网短暂的历史中,万维网已经从个大部分显示静态信息的网络演化到对股票进行交易和进行购书操作的个基础设施。
在各种各样的应用程序中,对于可能使用的基于的客户端,看上去没有任何限制。
基于浏览器客户端的应用程序比传统的基于客户机服务器的应用程序有几个好处。
这些好处包括几乎没有限制的客户端访问和极其简化的应用程序部署和管理要更新个应用程序,管理人员只需要更改个基于服务器的程序,而不是成千上万的安装在客户端的应用程序。
这样,软件工业正迅速地向建造基于浏览器客户端的多层次应用程序迈进。
这些快速增长的精巧的基于的应用程序要求开发技术上的改进。
静态对于显示相对静态的内容是不错的选择新的挑战在于创建交互的基于的应用程序,在这些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字。
对于这个问题的个早期解决方案是使用接口。
开发人员编写与接口相关的单独的程序,以及基于的应用程序,后者通过服务器来调用前者。
这个方案有着严重的扩展性问题每个新的要求在服务器上新增个进程。
如果多个用户并发地访问该程序,这些进程将消耗该服务器所有的可用资源,并且系统性能会降低到极其低下的地步。
些服务器供应商已经尝试通过为他们的服务器提供插件和来简化应用程序的开发。
这些解决方案是与特定的服务器相关的,不能解决跨多个供应商的解决方案的问题。
例如,微软的技术使得在页面上创建动态内容更加容易,但也只能工作在微软的和上。
还存在其他的解决方案,但都不能使个普通的页面设计者能够轻易地掌握。
例如,像这样的技术就可以使得用语言编写交互的应用程序的服务器端的代码变得容易。
开发人员能够编写出这样的,以接收来自浏览器的请求,动态地生成响应可能要查询数据库来完成这项请求,然后发送包含或文档的响应到浏览器。
注意个就是个基于技术的运行在服务器端的程序与不同,后者运行在浏览器端。
会在本书第章介绍。
采用这种方法,整个网页必须都在中制作。
如果开发人员或者管理人员想要调整页面显示,就不得不编辑并重新编译该,即使在逻辑上已经能够运行了。
采用这种方法,生成带有动态内容的页面仍然需要应用程序的开发技巧。
很显然,目前所需要的是个业界范围内的创建动态内容页面的解决方案。
这个方案将解决当前方案所受到的限制。
如下能够在任何或应用程序服务器上运行。
将应用程序逻辑和页面显示分离。
能够快速地开发和测试。
简化开发基于的交互式应用程序的过程。
技术就是被设计用来满足这样的要求的。
规范是服务器应用服务器交易系统以及开发工具供应商间广泛合作的结果。
开发出这个规范来整合和平衡已经存在的对编程环境例如,和进行支持的技术和工具。
其结果是产生了种新的开发基于应用程序的方法,给予使用基于组件应用逻辑的页面设计者以强大的功能。
页整体语义页实施类定义个方法映射反应对象的请求。
这些变革细节是具体用于脚本语言参见,。
多数细节不是具体语言,这些细节在这个章节里描述。
页的内容主要致力于描述被写入反应的输出流的数据容器通常传送返回给客户的数据。
的生命周期中只被执行次。
方法被调用来处理客户端的请求。
对每个请求,引擎创建个新的线程来处理该请求。
如果有多个客户端同时请求该文件,则引擎会创建多个线程。
每个客户端请求对应个线程。
以多线程方式执行可以大大降低对系统的资源需求,提高系统的并发量及响应时间。
但不过也应该注意多线程的编程限制,由于该始终驻于内存,所以响应是非常快的。
如果文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的,并继续上述处理过程。
虽然效率很高,但在第次调用时由于需要转换和编译而有些轻微的延迟。
此外,在任何时候如果由于系统资源不足的原因,引擎将以种不确定的方式将从内存中移去。
当这种情况发生时方法首先被调用。
然后实例便被标记加入垃圾收集处理。
可在中进行些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取些参数等,在中释放相应的资源。
基于语言的技术具有很多其他动态网页技术所没有的特点,具体表现在如下方面简便性和有效性动态网页的编写与般的静态的网页编写是十分相似的。
只是在原来的网页中加入些专有的标签,或是些脚本程序此项不是必需的。
这样,个熟悉网页编写的设计人员可以很容易进行网页的开发。
而且开发人员完全可以不自己编写脚本程序,而只是通过独有的标签使用别人已写好的部件来实现动态网页的编写。
这样,个不熟悉脚本语言的网页开发者,完全可以利用做出漂亮的动态网页。
而这在其他的动态网页开发中是不可实现的。
程序的独立性是家族的部分,它拥有般的程序的跨平台的特性。
换句话说,就是拥有程序的对平台的独立性,即。
程序的兼容性中的动态内容可以各种形式进行显示,所以它可以为各种客户提供服务,即从使用的浏览器,到使用的各种手提无线设备例如,移动电话和个人数字设备,再到使用的应用,都可以使用的动态页面。
程序的可重用性在页面中可以不直接将脚本程序嵌入,而只是将动态的交互部分作为个部件加以引用。
这样,旦这样的个部件写好,它可以为多个程序重复引用,实现了程序的可重用性。
现在,大量的标准程序库就是个很好的例证。
作者来源描述是根据对象它通过隐含对象暴露。
参见,。
值的变化首先,定义个对象,这个对象不同于返回对象。
并且为了实施中间转换,可以认为是插入到。
这是最初外在对象。
页作者对于或相关的被禁止写直接写入。
容器不响应直到第部份内容送到客户。
对动作是种语言,它是二进制。
或于相关,或在引起内容之前改变反应类型内容。
参照,在些动作主体中,输出不同于对象实例的再分配,这取决于动作的细节。
典型临时数据流添加到先前的输出流,随后输出数据流再分配到先前数据流嵌套。
总被缓冲,并且明确要求缓冲嵌套数据流或被摈除的内容。
如果对象数据缓冲区满,则取决于属性值,缓冲内容自动输入到,消除溢出或抛出缓冲溢出的信号。
如果不溢出,写入的内容将被直接送入输出流。
页也能描述些应该发生的具体事件。
在,可被描述的唯事件是初始化和页的损坏。
在声明元素中描述。
参见,是用于浏览器的第种具有通用目的动态的客户端脚本语言。
于年首先提出了,但当时将其称为。
后来迅速地将改名为,的开发商与他们在同年发表了项声明。
声明中指出和将互相补充,但它们是截然不同的技术,这样才打消了很多人对这两项技术的理解。
为创建用户界面控件提供了种脚本语言。
事实上,在浏览器中插入了代码逻辑。
它可以支持这样的效果当光标在页的个位置移动时验证用户输入或者变换图像。
也编写出了自己的版本并将其称为。
和都支持种围绕和的核心特性并由,标准组织控制的脚本语言标准。
将其脚本语言命名为。
和经常包括些组织中常见的信息,如版本商标或导航条。
应用程序使用导入机制在任何所需的位置导入这些信息,因为这样可以很容易地在个地方改变内容,然后维持在所有使用它的代码中。
有些信息是静态的,永远不会或很少会改变,如组织的。
在其他情况下,信息是动态的,经常在不可预见的时候改变,如必须针对每个用户的文本欢迎语。
在这两种情况下,你可能都希望保证或可以独立于所导入的内容进行开发,或的实现在必要时正确地更新其导入的内容。
希望在中导入不经常改变的资源。
在导入页面中使用指令,并给予被导入的代码段扩展名。
希望在每次接收请求时,而不是在转换为时导入内容。
使用标准动作。
希望在中根据从配置文件取得的值,动态地导入文件。
使用标准动作。
在外部特性文件中提供它的值,或作为部署描述文件中的配置参数来提供。
希望在文档中导入段文件,或导入语法的页面。
要在每次请求时进行导入,使用标准动作。
如果要在翻译阶段进行导入,使用。
元素。
的运行原理与优点在本节中简单介绍
