ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:110.82KB ,
资源ID:7421610      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7421610.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于J2EE的ajax之DWR.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于J2EE的ajax之DWR.docx

1、基于J2EE的ajax之DWR基于J2EE的Ajax之DWR一、 什么是Ajax及它有什么好处:1、 什么是Ajax:AJAX并不是一项新的技术,它实际上是几项成熟技术的组合产品,主要用到的技术有JavaScript、DOM、XML、XSLT、XHTML、CSS等2、 优点:使用Ajax的最大优点,能在不更新整个页面的前提下维护数据,普通页面每点击一个链接,整个页面需要重新刷新一次,Ajax可以实现局部减轻服务器的负担,因为Ajax的是“按需取数据”,如:项目里级联菜单的处理就需要此项技术,用户只对菜单中的一部分进行操作的话,那就只读取的数据中的一指定的部分能够提升用户体验,如下展示例子:优点

2、展示地址:http:/172.16.1.211:8080/pic/imgSpecs.jsp总体来讲:Ajax适用于交互较多,频繁读数据,数据分类良好的WEB应用二、 常见的几种用Ajax实现的WEB项目: 1、地图: 2、网页页面局部刷新部分(如Tabs) 3、大家熟悉的抽奖系统三、 Ajax框架之DWR1、 Ajax目前的框架有很多种,为什么选择DWR ?现在有多种基于Java平台的Ajax-PRC工具包,但DWR是最成熟的,而且提供了能和Java的其它框架配合使用的功能如:Spring、Jsf、Struts、Pageflow,最新发布的3.0还集合了Dojo框架2、 DWR(Direct

3、WebRemoting)的主要功能:客户端的JavaScrip可以直接调用远程的Java方法,并得到远程方法的返回值,我个人的理解就是JavaScript与Java通过DWR进行通讯交流(如下图)Ajax例子展示地址:http:/172.16.1.211:8080/lottery/lottery/index.html http:/172.16.1.211:8080/dwr/index.html http:/172.16.1.211:8080/dwr/dwr/index.html :8086/mo/四、 DWR的下载及相关配置1. 下载:DWR官方网站:http:/directwebremoti

4、ng.org/ 可以下载最新版2. 安装:直接将dwr.jar及commons-logging.jar导入lib目录3. 配置:首先需要在Web.xml文件中加入如下代码:=/配置DWR的核心Servlet / 指定DWR核心Servlet的名称 dwr / 指定DWR的核心Servlet的实现类 uk.ltd.getahead.dwr.DWRServlet /是否打开DWR的调试状态 debug true /指定映射的URL /指定核心DWR URL dwr /dwr/* =然后编写Java程序:=public String hello(String name) return name +

5、,你好!欢你来到A8.; =完成后增加一个dwr.xml文件,代码如下:=/指定DWR配置文件的DTD信息 /这里的javascript=”a8”代表对应生成的js文件就是a8.js如下图红框处 =五、 怎样应用到你的 Web 程序中?1. 在配置完成后DWR会自动生成三个js文件,这三个文件是动态生成的,生成的位置也是变化的,它们的位置会随着Web.xml文件中配置uk.ltd.gatahead.dwr.DWRServlet的URL不同而不同。2. 进入http:/localhost:8080/YOUR-WEBAPP/ 然后点击你创建的类,就可以看到生成的JavaScrip方法了,你可以根据

6、实际情况修改 /YOUR-WEBAPP/ 部分。如下例:这三个JS在引入到Jsp或者HTML中时,第一、二两个是必备的。第一个JS:是由dwr.xml文件使用create元素,暴露成JavaScript的实例第二个JS:Engine.js文件,DWR的核心,在调用过程中是不可缺少的文件第三个JS:Unil.js文件,DWR工具的JavaScript文件,该文件内提供了一些方法,通过这些方法可以简化DOM操作,该文件在引入过程中属于可选引入3. 导入了DWR动态生成的JavaScript脚本,我们就可以使用异步方式来调用这些方法,所谓的异步,就是使用一个回调函数,当调用远程Java方法,总是为该

7、方法增加一个参数,参数列表的最后一个参数就是回调函数,回调函数当服务器响应时自动启动,用于将服务器响应显示在当前页面中,实际上使用回调函数有两种做法:简单回调和使用JSON格式,简单回调是指,调用远程Java方法时增加一个方法参数,最后一个方法参数是回调函数,假设有如下一个类,该类里仅包含一个简单的hello方法:=/简单的处理类Public class Hello /仅包含一个简单的hello方法 public String hello(String name) return name + ,你好!欢你来到A8.;=将其暴露成JavaScript对象(假设被暴露成一个名为a8的JavaScr

8、ipt对象)可以通过如下代码来使用该对象:DWR入门编写:hellodwr.jsfunction hello() a8.hello(唐伯虎,function(data) alert(data););或者function hello() a8.hello(唐伯虎,feedback);function feedback (data) alert(data);其中,唐伯虎是传给远程Java方法hello(String name)的name参数,feedback则就回调函数。六、 以下提供一个完整的例子,来演示实际过程中的操作:预览地址:http:/172.16.1.211:8080/dwr/inde

9、x.htmlJava端=HelloA8.java/简单的处理类public class HelloA8 public String hello(String name) return name + ,你好!欢你来到A8.; public String sendObj(Person p) return p.getName() + ,您好!欢你来到A8.; public Person getBean(String name) return new Person(服务器端 + name); public List getPersonList() List result = new ArrayList

10、(); result.add(new Person(集合aaaa); result.add(new Person(集合bbbb); result.add(new Person(集合cccc); return result; public Person getPersonArray() Person result = new Person3; result0 = new Person(数组aaaa); result1 = new Person(数组bbbb); result2 = new Person(数组cccc); return result; public Map getPersonMap

11、() Map result = new HashMap(); result.put(first , new Person(Map aaaa); result.put(second , new Person(Map bbb); result.put(third , new Person(Map cccc); return result; public String sendList(List pl) String result = ; for (Person p : pl) result += p.getName() + ; return result; public String sendMa

12、p(Map pmap) String result = ; for (String key : pmap.keySet() result += 键 + key + 其值为: + pmap.get(key).getName() + ; return result; =Person.javapublic class Person private String name; public Person() public Person(String name) this.name = name; public void setName(String name) this.name = name; pub

13、lic String getName() return name; =修改web.xml配置=web-app version=2.5 xmlns= xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance xsi:schemaLocation= dwr uk.ltd.getahead.dwr.DWRServlet debug true dwr /dwr/* index.html =Dwr.xml的配置(dwr.xml与web.xml位于同级目录下面)= !CDATA import a8.HelloA8; import a8.Person; impor

14、t java.util.List; import java.util.Map; hello.sendList(List);hello.sendMap(Map); =HTML内容=DWR入门DWR入门请输入您的名字下面是服务器的回应:=调用JS=/发送简单字符串参数,返回普通字符串function sendMessage() var name = document.getElementById(name).value; hello.hello(name , cb)function cb(data) document.getElementById(show).innerHTML = data;/发

15、送一个JavaBean对象作为参数,返回普通字符串function sendObject() var nameValue = document.getElementById(name).value; hello.sendObj(name:nameValue , cb);/调用返回JavaBean方法function getBean() var name = document.getElementById(name).value; hello.getBean(name , beanCb)function beanCb(data) document.getElementById(show).innerHTML = data.name + ,您好,您已经学会了使用JavaBean返回值;/调用返回集合的方法function getBeanList() hello.getPersonList(listCb);function listCb(data) var result=; for (var i = 0 ; i data.length

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1