专利名称:基于ajax技术的动态页面处理系统的制作方法
技术领域:
本发明属于页面开发技术领域,具体涉及一种基于aj ax技术的动态页面处理系统。
背景技术:
现代B/S架构的管理系统大多是基于动态页面,并部署在支持各自的应用服务器,如tomcat,iis等。此类部署架构在面对超大并发访问时,服务器端对于页面的性能消耗和响应速度会是一个需要考虑的问题。具体来说,包括1、动态页面本身的处理要比静态页面复杂,对服务器消耗高,响应时间长。2、系统中也有很多图片,脚本,html页面等静态资源,但一般应用服务器的处理效率都远低于纯http服务器(如apache)。这样最终使得系统处理性能下降,用户在界面上要等待的时间变长,长时间“白屏”。对于系统处理性能,目前的解决方案有将纯http服务器和应用服务器结合部署,由纯http服务器处理静态内容,如js,html等;应用服务器处理服务器端脚本,如jsp,php等。虽然系统整体提高了静态页面的处理能力,解决了对于静态内容处理的问题,但还是要等待应用服务器处理完毕才返回整个页面的内容。另外还有将动态页面静态化,即将动态页面的返回结果直接保存为静态html页面。举例来说,以jsp为例,某系统里有一个产品信息的表单访问路径是这样的ProductInfo. jsp pid=123,客户端在访问这个页面时会在服务器端产生以下的消耗1、初次访问jsp页面编译的时间;2、根据pid=123进行数据库查询,得到相应数据的时间;3、将结果通过servlet的out对象输出的时间。其中,第二、第三个消耗时间在每次访问时都需要执行。因此采取页面静态化处理,会将上面步骤3的返回结果在服务器端之间保存为例如ProductInfo_123. html这样的页面。后面再有用户请求就直接指向这个html页面。这样就省略了上述步骤I和2,可以大大提高页面响应速度。这种方案在各类内容管理平台中很常用,因为一般此类系统的数据更新频率不高,适合进行静态化处理。但是如果数据变动频繁,如各类信息管理系统,用户每时每刻都会通过表单与数据库进行交互,静态化处理本身就会带来很多系统消耗,这种方案就不再适合了。本发明因此而来。
发明内容
本发明目的在于提供一种基于ajax技术的动态页面处理系统,解决了现有技术中动态页面开发时系统消耗太大、用户在界面上要等待的时间过长、系统性能低下等问题。为了解决现有技术中的这些问题,本发明提供的技术方案是一种基于ajax技术的动态页面处理系统,包括客户端、http服务器、应用服务器,所述客户端浏览器通过路由服务器分别与http服务器、应用服务器通信,其特征在于所述http服务器负责接收静态页面请求,并将静态页面连同页面的上应用的静态资源一起返回给客户端浏览器,并在浏览器上展现页面主体;所述应用服务器负责接收非静态页面请求,
3客户端浏览器的页面通过ajax请求访问应用服务器,应用服务器向浏览器返回动态数据,浏览器更新数据并更新页面显示。本发明的另一目的在于提供一种基于ajax技术的动态页面处理方法,其特征在于所述方法包括以下步骤(I)浏览器向http服务器请求动态页面中的页面主体;(2) http服务器将静态页面连同页面的上应用的静态资源一起返回给浏览器,浏览器展现页面主体;(3)浏览器的页面通过ajax请求访问应用服务器的服务器端脚本;(4)应用服务器将返回的数据返回给浏览器,浏览器再次更新页面。本发明技术方案中提出了全新的系统部署方法,结合特定的页面框架,有效的利用应用服务器和纯http服务器各自的优点,提高系统的整体响应能力和用户体验。采用静态页面框架,抛弃服务器端脚本,如jsp,php,全部改用html页面和ajax的处理方法。此法可以使得系统不需要等待逻辑的全部处理完毕,而在第一时间响应用户的页面请求,加载出系统页面。上述方法配合http服务器与应用服务器一起部署的整体部署结构。此法充分发挥了 http服务器处理静态资源的优势,提升了系统的整体性能,同时也方便后续集群的扩展。相对于现有技术中的方案,本发明的优点是本发明技术方案结合了现有技术各自的优点,并对缺陷进行了回避,与页面静态化相比,不去将原来的内容直接生成静态页面,而是将静态内容先加载,再读取数据,提升性能的同时,更能适应数据变动频繁的信息系统的要求。与直接用http服务器与应用服务器混合部署的方式相比,利用快速返回的静态页面,给用户第一时间的响应,避免了原来需要等待所有服务器请求响应完毕的过程。
下面结合附图及实施例对本发明作进一步描述图I为基于ajax技术的动态页面处理系统的静态页面框架访问过程图;图2为基于ajax技术的动态页面处理系统的网络部署结构图;图3为基于ajax技术的动态页面处理系统的系统访问流程图。
具体实施例方式以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。实施例本实施例得到的基于ajax技术的动态页面处理系统,包括客户端、http服务器、应用服务器,所述客户端浏览器通过路由服务器分别与http服务器、应用服务器通信,所述http服务器负责接收静态页面请求,并将静态页面连同页面的上应用的静态资源一起返回给客户端浏览器,并在浏览器上展现页面主体;所述应用服务器负责接收非静态页面请求,客户端浏览器的页面通过ajax请求访问应用服务器,应用服务器向浏览器返回动态
4数据,浏览器更新数据并更新页面显示。本实施例的系统主要包括2个部分一、静态页面框架。本实施例舍弃jsp等服务器端脚本,换成html页面,通过ajax请求与服务器端交互,并通过JSON格式进行参数的传递。ajax是“Asynchronous JavaScript And XML “(异步JavaScript和XML),可以以非阻塞的方式请求服务器端资源。JSON(JavaScript ObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成用户所有请求的都是html页面,这样可以第一时间加载出主体页面内容,再通过aj ax技术进行服务器端功能的请求,最后利用回调函数获取返回数据进行页面内容的更新。框架本身包括以Javascript引擎和服务器端处理接口 I. Javascript 引擎a) url参数处理器获取url参数,并封装成JSON格式,方便后续数据处理。b) ajax请求对象可以发送ajax请求,拥有回调函数接口和异常处理接口一个典型的用jquery实现的引擎示例可以这样的
S(d oc U ment).reacly( fun ction(){
//获取uri参数,转换成JSOX格式
var pa rams = getL· RLPa rams(window,loction. href);
$.ajax{
type : 'post*,
url : "productlnfo.action",
dataType : 'json',data : params,success : doSomeThingf)2.服务器端处理接口 a)请求拦截器能够拦截到ajax请求,并处理好参数。b)访问权限的控制器。c)业务逻辑调用器d)处理结果封装器将业务逻辑的处理结果进行数据封装再返回到客户端e)相关的异常处理接口—个典型的用java的servlet实现的处理接口可以是这样的public void doPost(HttpServ!etRequest request, HttpServIetResponse
response)
throws Ser V let Except ion, IOException {
//获取ajax提交的参数Object Params = getParanis();
//调用业务逻辑方法
Object result = doSonieThing(Params);
//返回结果
PrintWriter out = response.getWriter();
out.write(result);
out.dose();
I举例说明,当访问地址为ProductInfo. html pid=123的页面时,如图I所示步骤一解析url 参数,形成 params= {pid: 123}步骤二 发送ajax请求步骤三服务器响应ajax请求,调用业务逻辑,获取到Product的具体信息并返回。步骤四通过ajax的回调函数,获取到数据,将Product的信息展现到页面上或进行异常处理。二、系统整体部署方式以tomcat和apache为例,系统部署时将全部的静态文件放到http服务器(如apache)里面,将所有的非静态资源,如servlet, javabean等部署的应用服务器(如tomcat)里面。配置http服务器的转发规则,根据url匹配,将静态资源的请求转发给http服务器,非静态资源转发给应用服务器,两者各自将处理结果返回给浏览器。将框架和部署结构结合起来,即为系统的整个访问结构对于大并发下的B/S架构管理系统,从系统性能提升和用户访问感受的角度上来讲,此法比其他已知方案效果都好,通用性都强。服务器端可以是jsp, asp, php等各种语音;客户端只要能支持javascript和ajax,例如pc,智能手机,平板电脑等。上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
权利要求
1.一种基于ajax技术的动态页面处理系统,包括客户端、http服务器、应用服务器,所述客户端浏览器通过路由服务器分别与http服务器、应用服务器通信,其特征在于所述http服务器负责接收静态页面请求,并将静态页面连同页面的上应用的静态资源一起返回给客户端浏览器,并在浏览器上展现页面主体;所述应用服务器负责接收非静态页面请求,客户端浏览器的页面通过ajax请求访问应用服务器,应用服务器向浏览器返回动态数据,浏览器更新数据并更新页面显示。
2.一种基于ajax技术的动态页面处理方法,其特征在于所述方法包括以下步骤(1)浏览器向http服务器请求动态页面中的页面主体;(2)http服务器将静态页面连同页面的上应用的静态资源一起返回给浏览器,浏览器展现页面主体;(3)浏览器的页面通过ajax请求访问应用服务器的服务器端脚本;(4)应用服务器将返回的数据返回给浏览器,浏览器再次更新页面。
全文摘要
本发明公开了一种基于ajax技术的动态页面处理系统,包括客户端、http服务器、应用服务器,所述客户端浏览器通过路由服务器分别与http服务器、应用服务器通信,其特征在于所述http服务器负责接收静态页面请求,并将静态页面连同页面的上应用的静态资源一起返回给客户端浏览器,并在浏览器上展现页面主体;所述应用服务器负责接收非静态页面请求,客户端浏览器的页面通过ajax请求访问应用服务器,应用服务器向浏览器返回动态数据,浏览器更新数据并更新页面显示。该方法充分发挥了http服务器处理静态资源的优势,提升了系统的整体性能,同时也方便后续集群的扩展。
文档编号G06F17/30GK102938776SQ20121037168
公开日2013年2月20日 申请日期2012年9月28日 优先权日2012年9月28日
发明者钱骏, 夏帮国, 王长尧 申请人:方正国际软件有限公司