JSP Ajax Prototype框架简介
ajax框架

Ajax 框架Ajax框架有基于服务器端和客户端两种,多数是开源实现,并且发展速度很快。
服务器端框架 1. Sajax Sajax拥有活跃的社区,支持Perl、Python、Ruby、ASP 等语言,每种语言Sajax都有一个简单的库,利用Sajax可以直接从JavaScript调用服务器代码。
官方网站:/sajax 。
2. JSONJSON作为JavaScript语言的一个子集,是一种描述数据的轻量级语法,和XML类似,用于交换数据。
XML相关的有XML-RPC,JSON也有JSON-RPC远程调用协议,它在Java、Ruby、Python、Perl中都有实现。
网上参考:/json/ 。
3. DWRDWR这个字眼出现的频率较高,在网上搜索了一下,查到DWR全称是Direct Web Remoting,代表着可以直接从JavaScript远程调用Java方法。
使用DWR需要一些额外的配置,如编辑Web应用的描述文件,编辑DWR的配置文件,来指定可以远程创建和调用的类,从这种方式可以看出其中存在一些安全隐患,但是,由于DWR支持常用的Struts/WebWork/Tapestry Web框架,在Apache协议下发布,加上丰富的文档资料,使得DWR在Java领域非常流行。
介绍DWR的相关文章可以参考:/mstar/category/2359.html/zkjbeyond/category/11348.html 更多信息可以访问:/dwr/index 。
4. BuffaloBuffalo是由国人开发的Ajax框架。
Buffalo中定义了Web远程调用的传输基础,并且将远程调用对象完整的序列化到了本地,成为可以被JavaScript编程触及的对象。
Buffalo中的重要组件-BuffaloBinding,提供了将JavaScript 对象绑定到HTML元素的能力。
这种绑定将是无侵入的,只需要在HTML元素中加入若干个不影响排版的属性,即可将数据与界面绑定。
DWR使用步骤

DWR(direct web remote)是一个基于服务器端的ajax框架。
通过该框架,我们可以使用js来直接调用java方法。
Prototype.js是一个基于浏览器其端的ajax框架,只需要引入prototype.js即可使用。
Jquery:1.引入jar包到WEB-INF/lib2.web.xml中写入:<servlet><servlet-name>dwr-invoker</servlet-name><servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class><init-param><param-name>debug</param-name><param-value>true</param-value></init-param></servlet><servlet-mapping><servlet-name>dwr-invoker</servlet-name><url-pattern>/dwr/*</url-pattern></servlet-mapping>3.建立java类(普通java类即可,不是servlet)TestClasspublic class TestClass {public void testMethod1(){System.out.println("hello dwr!");}}4.在/WEB-INF/dwr.xml中配置java类:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "/dwr/dwr20.dtd"><dwr><allow><create creator="new" javascript="testClass" ><param name="class" value= "com.dwr.TestClass" /></create></allow></dwr>5.在1..html中使用,需要首先引入:(需要保证dwr这个目录位于web应用的根目录)<script src='dwr/interface/testClass.js'></script><script src='dwr/engine.js'></script><script src='dwr/util.js'></script>6.在javascript方法中调用后台java类方法:function test(){testClass.testMethod1();}用dwr调用有参数或有返回值的java方法:function test(){testClass.javaMethod2("bbb",parseInfo);//若java方法需要传参,处理响应数据的函数名放到参数列表后面。
几种常用的ajax框架分析介绍

几种常用ajax框架分析介绍网上搜集整理了几种常见ajax框架,分别列出来,给想学的朋友做个参考。
(排名不分前后)的官方解决方案 AJAX网址: AJAX是微软.NET平台上的解决方案,提供涵盖服务器端与客户端所需的AJAX技术与JavaScript整合机制。
通过下载、安装 AJAX到Visual Studio当中,即可使用预设的控制项,开发出一些视觉特效与非同步传输的应用。
另外, AJAX也提供控制项的Toolkit,包含开发人员想自行开发AJAX 应用时所需的基底类别与专案范本。
AJAX除了处理浏览器的相容性问题,也让用户端的JavaScript在开发时加入物件导向特性,例如型别系统、资料型别、命名空间、事件等,使得程序代码更容易排错、维护和重复使用。
虽然 AJAX提供服务器与客户端的解决方案,透过Visual Studio支持,也让开发、排错的难度降低,不过和其他AJAX框架相比,许多AJAX效果和功能都还在测试阶段(在CTP版本中供用户测试),可以应用的功能有限。
2.支持(前进、后退)并加入(收藏)功能Dojo网址:一些轻巧的Ajax框架,用意在解决JavaScript遇到的易用性或特效问题,相比之下,Dojo更像是个面面俱到的JavaScript工具套餐,号称可以降低网页或网页应用程序前端开发速度。
Dojo支持拖拉、淡出、淡入、移动、透明、操作SVG图档等动态效果,它的Widget 也让使用者可以轻易使用选单,分页标签(tab)、树状结构、日历、文字编辑器等效果,当然也支持非同步处理的Ajax功能。
另外,Ajax由于以动态的方式操作事物,导致使用者习惯于使用前进、后退的功能无法使用,也无法利用收藏的功能,将所需的页面留下正确的书签,但这些需求Dojo都已解决。
比起其他轻巧型的Ajax框架,要熟练掌握Dojo显然要下较多的功夫才行,目前文件较大也是个问题。
不过由于它的功能更为完整,因此开发人员需要自行加工的地方就相对较少。
ASP Prototype框架概述

ASP Prototype框架概述Prototype框架是一个基于客户端的Ajax框架,其实质就是将客户端常用的Aj ax代码,如创建XMLHttpRequest对象这些重复性代码,使用面向对象的方式进行封装,封装成一个js文件。
Prototype框架使用过程,只需要调用相应的对象,而不必关系其具体的实现细节。
从这方面说,Prototype是一个基础的JavaScript应用框架,Prototype的目的是为了更方便的开发JavaScript的应用,使用它可以更加方便简单的使用JavaScript 编程,开发出面向对象的JavaScript程序,Prototype框架是JavaScript代码的自然扩展,更容易被人接受。
但是,Prototype是最受欢迎的AJAX框架之一。
比较著名的网站2006年的调查结果显示,Prototype同框架规模庞大的Yahoo! User Interface,Goog le Web Toolkit,and Atlas.等相比较起来,其排名竟然遥遥领先,这不能不令人感到惊异。
答案很简单:Prototype使用起来就像是对于JavaScript语言的自然扩展。
尝试过Prototype框架后,笔者几乎坚信Prototype框架应该被纳入JavaScript语言。
Prototype中包含了一个功能强大好用的Ajax框架,Prototype是一个基础性的框架,很多更高层次的框架都以它为基础,例如scriptaculous效果库。
Prototype框架以面向对象的方式封装JavaScript代码,其封装文件为prototype. js。
使用prototype.js可以大大简化客户端代码的开发工作。
prototype.js引入了类的概念,用其编写的类可以定义一个initialize的初始化函数,在创建类实例的时候会首先调用这个初始化函数。
正如其名字,prototype.js的核心还是prototype ,虽然提供了很多可复用的代码,但没有从根本上解决JavaScript的开发和维护问题。
JSP Ajax Ajax框架概述

JSP Ajax Ajax框架概述在使用JavaScript、XML、DOM等技术编写Ajax页面时,我们需要考虑很多问题,如针对不同的浏览器,需要使用不同的方式创建XMLHttpRequest对象,以达到在所有的浏览器都能够浏览演示。
编写一个Ajax案例,如果还是采用以前的A jax设计方法,不可以避免的要产生大量的重复性代码,如每个Ajax页面都需要创建XMLHttpRequest对象,对XML文件的处理方式等。
编写Ajax页面的大量时间浪费在这些重复性的代码上,显然有点不划算。
这些情况对一个优秀的程序员来说,根本不是问题。
我们可以把这些重复性的代码,多次需要调用的代码,以面向对象的方式封装到一个文件里面,如创建XMLHttpReq uest对象。
把重复性、关键性代码封装起来,能够达到代码重复重用的目的,能够很好的维护程序和调试程序。
把重复性代码封装起来,做出独立的文件,这里文件的扩展名为.js。
利用这些封装JavaScript文件可以形成自己的代码库,进而形成属于自己的框架。
创建属于自己的Ajax代码库,会花费大量的时间,并且还需要时刻注意代码库的Bug并进行修正。
对于个人来说,还不如使用一些现成的Ajax框架,毕竟这些框架是经过优秀程序员创建和大量的用户测试。
从Ajax诞生以来,人们就发现使用Ajax框架可以带来极大的方便,节省了大量的时间和精力。
于是,大量的Ajax框架诞生了,Ajax框架很多,几乎每月都要产生一些新的框架。
有些框架基于客户端,有些基于服务器端;有些专门为特定语言设计,如Java。
另外还有一些与语言无关。
其中绝大部分都是开源的,但也有少数是专用的。
经过Ajax框架的发展,一些框架已经逐渐被淘汰,一些框架被保留了下来。
Ajax框架由于代码库封装代码的不同,可以分为基于浏览器的Ajax框架和基于服务器端的Ajax框架。
基于服务器端框架可以划分两种形式,分别为HTML/JS Generation(HTML/JS生成)和远程交互。
Prototype介绍

能用元素 id 或元素本身做为参数
Prototype介绍 介绍
$A() 函数能把它接收到的单个的参数转换 成一个 Array 对象
Prototype介绍 介绍
$H() 函数把一些对象转换成一个可枚举的 和联合数组类似的 Hash 对象
Prototype介绍 介绍
$R() 是 new ObjectRange(lowBound, upperBound, excludeBounds) 的缩写
这个函数能传入用 String 表示的对象 ID,也可以传入对象本身 ,
Prototype介绍 介绍
Prototype介绍 介绍
$F() 函数是另一个大收欢迎的“快捷键”, 函数是另一个大收欢迎的“快捷键” 它能用于返回任何表单输入控件的值 输入控件的值, 它能用于返回任何表单输入控件的值,比 如文本框或者下拉列表。 如文本框或者下拉列表。
Prototype介绍 介绍
使用 Ajax.Request 类
创建方式 new Ajax.Request(url,options) 说明: 目标资源URL 说明:url --- 目标资源 options --- Ajax选项 选项
Prototype介绍 介绍
Ajax选项 选项
Prototype介绍 介绍
怎么使用ProtoType? 怎么使用
下载地址: 下载地址 将prototype.js文件放入你的项目中 文件放入你的项目中 在页面中引用 <script src=‘prototype.js’></script> ‘ ’
Prototype介绍 介绍
这个类库带有很多预定义的对象和实用函 数
Prototype介绍 介绍
Ajax 对象是一个预定义对象,包含一系列的封装 对象是一个预定义对象, AJAX 逻辑的类
例解Prototype框架
第7章 Prototype框架1.4.0课前导读Ajax的核心技术是XMLHttpRequest对象的使用,该对象的属性不多,可能通过前面的介绍你已经很好地掌握该对象的使用,然而,运用Ajax技术而不借助于框架工具开发Web应用程序几乎是不可能的。
正像你很少在应用了Ajax技术的网页源文件中直接看到XMLHttpRequest的身影,目前Ajax框架有如雨后春笋,商业性的或是开放源代码的都有很多,支持各种Web编程语言,并且都在不断的升级中。
对于初学者我们要介绍的Ajax 框架属于多功能JavaScript框架,与此相区别的偏重于某个方面或某种服务器端技术的专业框架。
在多功能JavaScript框架中,Prototype是最适合初学者使用的一个框架,Prototype是Sam Stephenson设计的JavaScript框架,致力于简化动态的Web开发,它以面向对象的思想进行JavaScript开发,增强了JavaScript的设计能力。
重点提示在本章我们将重点学习:Prototype框架详解7.1 prototype框架参考prototype的使用非常简单,不需要安装,从/下载prototype.js文件,在HTML文档中正确引用,就可以自如使用它提供的类和方法。
按照prototype.js源代码的顺序,我们对其进行介绍。
(1)Prototype对象prototype对象是一个全局对象,在该对象中声明了程序包的版本,并且提供了一些(2)Class对象Class 对象在声明其他的对象时候被用到。
用它声明对象使得新对象支持initialize() 方法,实际上该对象也只是起到把构造方法封装为initialize()方法的作用。
例7-1 Class的创建<HTML><HEAD><TITLE>Prototype Framework</TITLE><script src="prototype.js"></script></HEAD><BODY><SCRIPT LANGUAGE="JavaScript"><!--var Class_1 = Class.create();//声明类Class_1//通过prototype属性,实现该类Class_1.prototype = {initialize:function(className){//实现initialize方法="Noname";if(className) = className;},ShowName:function(){return ;}//为其添加了ShowName方法}function ShowExample(){var Obj=new Class_1("Obj");//声明类的实例Objdocument.write("Obj.ShowName():"+Obj.ShowName());//调用Obj的ShowName方法}--></SCRIPT><input type="button" value="ShowExample" onclick="ShowExample()"></BODY></HTML>我们说JavaScript并非真正的面向对象的编程语言,其中也没有类的概念,Prototype 框架努力使JavaScript中类的声明更突出,更具有面向对象的表现形式。
JSP教程_AJAX开发
JSP教程_AJAX开发AJAX(Asynchronous JavaScript and XML)是一种用于创建快速、交互式和动态网页的技术。
它利用JavaScript和XML来进行数据的异步传输和更新,而无需刷新整个页面。
在JSP(JavaServer Pages)中使用AJAX可以大大增强用户体验,提高网页的性能和响应速度。
在JSP中使用AJAX,首先需要引入相关的JavaScript库,如jQuery、Prototype等。
这些库提供了一系列函数和方法,使得使用AJAX变得更加简单。
在JSP页面中,可以通过JavaScript代码调用AJAX函数,向服务器发送请求并接收响应。
使用AJAX的一个常见场景是异步加载数据。
在JSP页面中,可以通过AJAX请求服务器端的数据,然后将数据展示在页面上,而无需刷新整个页面。
这样可以减少数据的传输量,提高页面的加载速度。
例如,在一个电子商务网站上,可以使用AJAX异步加载商品列表,当用户滚动页面时动态加载更多商品,提供更好的用户体验。
另一个常见的使用场景是表单的异步提交。
在JSP页面中,用户填写完表单后,可以使用AJAX将表单数据发送到服务器进行处理,而无需刷新整个页面。
服务器可以返回一个JSON对象,告诉用户提交是否成功。
这样可以提高用户操作的流畅性,避免页面的刷新导致的不必要的等待。
在JSP中使用AJAX还可以实现实时、自动完成等功能。
例如,在一个引擎的网站上,用户输入关键字时,可以使用AJAX向服务器发送请求,获取结果,并实时展示在页面上。
这样用户可以在输入关键字的同时查看结果,提高效率。
使用AJAX开发时,需要注意一些问题。
首先是跨域请求的问题。
由于浏览器的安全策略,AJAX只能向同源的服务器发送请求。
如果需要向不同域名的服务器发送请求,可以通过设置服务器端的CORS(跨域资源共享)来解决。
其次是数据格式的选择。
AJAX可以使用多种数据格式,如XML、JSON等。
Prototype提供的Ajax功能在ThinkPHP框架中的应用研究
Prototype提供的Ajax功能在ThinkPHP框架中的应用研究作者:张洪波杨新泉来源:《硅谷》2011年第07期摘要:研究web开发中Prototype目前最为广泛的Ajax功能,在ThinkPHP框架中的应用。
以合作管理系统为例,展示Prototype中的Ajax功能在ThinkPHP的应用。
关键词: ThinkPHP;Prototype;异步模式中图分类号:TP文献标识码:A文章编号:1671-7597(2011)0410086-010 引言随着技术的进步和用户需求的扩大,Ajax的出现,实现了对服务器发送异步请求的能力,这给易用性带来了无法言尽的影响。
传统的Ajax开发需要编写大量的JavaScript脚本,而Prototype框架可以大大简化JavaScript代码的编写工作。
ThinkPHP是一个快速、兼容且简单的轻量级国产PHP开发框架,遵循Apache2开源协议,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式[1],已越来越多地受到认可。
鉴于ThinkPHP、Prototype目前的广泛应用,本文通过一个合作管理系统为例,详细介绍两者的完美结合。
1 Prototype的Ajax辅助类原理Prototype中的Ajax类是一个已定义好的功能模块,封装了实现Ajax功能所需的技巧性代码,使我们可以更简单的创建动态的网页。
下面我们通过Ajax的原理图简略的学习一下。
图1Prototype的Ajax原理图从上图中可以看到,Prototype的Ajax功能仍然是使用xmlHttpRequest进行异步数据传输,只是提供了一层封装,屏蔽了不同浏览器的不一致性。
我们将通过创建Ajax.Request对象,传入相应的参数。
缺省情况下,Ajax请求是异步的,Prototype提供回调函数来处理服务器返回的数据。
2 Prototype的Ajax类在ThinkPHP的应用下面以某合作管理系统中的合作公告模块为例,介绍Ajax功能的应用。
prototype的Ajax介绍
prototype的Ajax介绍(中文版)原文:/learn/introduction-to-ajaxPrototype框架提供了非常容易和有意思的方法处理Ajax的调用,同时它也是浏览器安全的。
除了简单的请求外,这个模块(指prototype里的Ajax)也能很聪明的处理从服务器返回的javascript代码,并且提供了一个辅助的类不停的轮循。
Ajax的功能包含在了全局的Ajax对象里面。
用于Ajax请求的transport是xmlHttpRequest,它是从用户角度的对不同浏览器进行安全的抽象的结果。
真正的请求是通过创建Ajax. Request对象的实例实现的。
new Ajax.Request('/some_url',{ method: 'get' });第一个参数是请求的地址,第二个是可选的哈希值。
方法选项指定要使用的HTTP请求方法,默认是POST。
记住,由于安全的原因(也就是防止跨站脚本攻击)Ajax请求只能被用在与包含这个Ajax 请求页面相同的协议、主机与端口上。
有些浏览器会允许任意的URL,但是你能不依靠这个。
Ajax响应回调Ajax请求默认是异步的,这也就意味着你必须要有回调函数能够处理返回的数据。
回调方法在发起请求的时候传给可选的哈希。
new Ajax.Request('/some_url',{method: 'get',onSuccess: function(transport){var response = transport.responseText || "no response text";alert("Success! \n\n" + response);},onFailure: function(){ alert('Something went wrong...') } });这里两个回调函数传给了这个哈希值,分别表示成功与失败的警告。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JSP Ajax Prototype框架简介
Prototype框架是一个基于客户端的Ajax框架,其实质就是将客户端常用的Aj ax代码,如创建XMLHttpRequest对象这些重复性代码,使用面向对象的方式进行封装,封装成一个js文件。
Prototype框架使用过程,只需要调用相应的对象,而不必关系其具体的实现细节。
从这方面说,Prototype是一个基础的JavaScript应用框架,Prototype的目的是为了更方便的开发JavaScript的应用,使用它可以更加方便简单的使用JavaScript 编程,开发面向对象的JavaScript程序,Prototype框架是JavaScript代码的自然扩展,更容易被人接受。
但是,Prototype是最受欢迎的AJAX框架之一。
比较著名的网站2006年的调查结果显示,Prototype同框架规模庞大的Yahoo! User Interface,Goog le Web Toolkit,and Atlas.等相比较起来,其排名竟然遥遥领先,这不能不令人感到惊异。
答案很简单:Prototype使用起来就像是对于JavaScript语言的自然扩展。
尝试过Prototype框架后,笔者几乎坚信Prototype框架应该被纳入JavaScript语言。
Prototype中包含了一个功能强大好用的Ajax框架,Prototype是一个基础性的框架,很多更高层次的框架都以它为基础,例如scriptaculous效果库。
Prototype框架以面向对象的方式封装JavaScript代码,其封装文件为prototype. js。
使用prototype.js可以大大简化客户端代码的开发工作。
prototype.js引入了类的概念,用其编写的类可以定义一个initialize的初始化函数,在创建类实例的时候会首先调用这个初始化函数。
正如其名字,prototype.js的核心还是prototype,虽然提供了很多可复用的代码,但没有从根本上解决JavaScript的开发和维护问题。
Prototype框架包含下面几个部分:
●Base:Prototype中应用的基本功能,基本上其他所有部分都依赖于它,包
括用于面向对象风格的Class.create和Object.extend,一个Try对象,函数
绑定,number扩展,PeriodicalExecuter(周期性执行某个函数的功能)等。
●String:对String原型的扩展,为string添加了strip,escapeHTML等等好用
的方法。
●Enumerable:枚举类型(array, hash, range等)的父类对象,提供枚举类型的
共同方法。
●Array:对Array原型的扩展,为array添加了indexOf、without等方法。
●Hash:为JavaScript提供了一个好用简单的Hash实现。
●Range:继承于enumerable,一个范围(例如3—67)对象。
●Ajax:一个功能强大好用的Ajax框架。
●Dom:对基于浏览器的开发提供了很好的跨浏览器封装,并添加很多强大
的功能。
●Selector:提供了使用class,CSS等选择元素的功能。
●form:关于表单的一些功能。
●event:简单的夸平台事件封装。
●position:提供了一些关于元素位置方面的功能。
可以说Prototype框架就是一个封装细节的黑盒子,为JavaScript封装了很多通用的功能,大大简化了JavaScript应用的开发,给JavaScript开发人员增添了很大的信心,Prototype可以运行于以下平台,使用它再也不用各种跨平台等问题烦恼了。
Prototype是最开放灵活的框架,Prototype框架规模紧凑,提供了核心的AJAX 抽象API,在此基础上开发人员开业开发属于自己的Ajax框架。
也可以从另外一个方面理解Prototype框架,Prototype框架是为应用JavaScript编程开发的一个通用的辅助库,在该库中提供了大量的JavaScript函数和方法。
其主要目的在于扩展Java Script语言本身,以便支持更加面向对象的编程风格并封装重复的代码。
Prototype 可以看成是库开发人员所使用的库。
普通Ajax开发人员一般直接使用的是基于Pro totype的库,而不是Prototype本身。
Prototype框架的下载地址是/download/prototype.js。
同时,精通英语的读者,可以在该网站上在线学习。
Prototype框架只有一个源代码文件prototype.js,只需要把该文件下载就可以了。
Prototype框架的使用它十分简单,只需要将prototype.js文件放入到Ajax页面的Webapps开发目录,在每个页面中引入即可。