版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,DWR WEB 开发交流,安徽晖吉软件有限公司 ,1、DWR 定义 与 入门 2、DWR web.xml 配置 3、DWR dwr.xml 配置 4、DWR中的JavaScript简介,1、 DWR (Direct Web Remoting )定义,DWR是一种AJAX(Asynchronous JavaScript and XML)的JAVA实现,它提供了一种能在web浏览器端采用JavaScript语言直接调用后台业务商业组件的解决方案。,1.1、 DWR入门,以一个 HelloWorld 示例带领大家入门,将DWR放入你的工程 1) 从官方网站下载dwr.jar包。然后将它放在你web
2、app的WEB-INF/lib目录下。 2) 将下载的dwr-版本号-src.zip javaorgdirectwebremoting内的engine.js和util.js放入WEB应用中,比如js文件夹下。,web.xml 以下几行代码必须被添加到WEN-INF/web.xml文件中。 注意,要把和其他放在一起, 要和其他放在一起,编辑配置文件,编辑配置文件,web.xml dwr-invoker org.directwebremoting.servlet.DwrServlet debug true dwr-invoker /dwr/* ,编辑配置文件,3、DWR DEMO介绍,dwr.xm
3、l,在web.xml的同一目录下,创建dwr.xml,并且将要被调用的java类写入其中。,编辑配置文件, ,编写service,就像没有dwr一样,写一个简单类并加一个方法,package helloWorld; public class Service public String sayHello(String yourName) /可以是访问数据库的复杂代码 return Hello World + yourName; ,测试DWR,将代码放入应用服务器(比如Tomcat),启动。 然后在地址栏输入http:/localhost:8080/你的工程/dwr,效果,1、DWR前台引擎(En
4、gine.js)的主要职责,效果,然后点击service,会看到刚才写的sayHello()的方法, 输入自己的名字然后点击“Execute”,如果发现确实是正确的返回结果, 说明测试通过了,可以进入下一步了,编写一个jsp,接下来最后一步就是创建一个jsp文件 1) 要引用几个dwr的js,其中engine.js必须要, 如果需要用到dwr提供的一些方便的工具要引用util.js 2) 然后还要引用dwr自动生成的js,dwr/interface/service.js, 注意js名字要和dwr.xml配置的一样 3) js里的service.sayHello和java类的那个有一点区别, 多
5、了个参数,用来callback返回的数据, My JSP first_dwr.jsp starting page function firstDwr() service.sayHello(Jorwen,callBackHello); function callBackHello(data) alert(data); ,2. web.xml配置,要加入到你的web.xml最少的代码就是简单地去申明DWR servlet, 没有它DWR就不起作用, dwr-invoker org.directwebremoting.servlet.DwrServlet dwr-invoker /dwr/* ,2.
6、web.xml配置,在DWR2.x里,DwrServlets是类 org.directwebremoting.servlet.DwrServlet , 尽管uk.ltd.getahead.dwr.DWRServlet仍然可以用。 在DWR 1.x你不得不使用后者。 有些额外的servlet参数,在有些地方很重要。 尤其debug参数 这个扩展DWR的标准结构是使用。 放在内,就像如下使用,2.web.xml配置, dwr-invoker org.directwebremoting.servlet.DwrServlet debug true ,3.dwr.xml配置,dwr.xml是你用来配置D
7、WR的文件,默认是将其放入WEB-INF文件夹 . ,3.dwr.xml配置,3、dwr.xml的业务组件发布和调用规则配置部分Allow,Allow部分是配置业务组件的发布和访问控制规则的一些参数选项,这部分是DWR配置的重点部分。其主要有以下两个子节点组成: 一、create元素 这个元素是配置后台业务组件的创建规则和组件方法的 访问规则。 二、convert元素 这个元素是配置Java对象和数据类型对应的转换器。DWR内置了所有java基本数据类型的转换器。基本数据类型的对象形式也采用同一的转换器转换。,3.dwr.xml配置,3、dwr.xml的业务组件发布和调用规则配置部分Allow
8、,Allow部分是配置业务组件的发布和访问控制规则的一些参数选项,这部分是DWR配置的重点部分。其主要有以下两个子节点组成: 一、create元素 这个元素是配置后台业务组件的创建规则和组件方法的 访问规则。 二、convert元素 这个元素是配置Java对象和数据类型对应的转换器。DWR内置了所有java基本数据类型的转换器。基本数据类型的对象形式也采用同一的转换器转换。,3、DWR配置说明,3、dwr.xml的业务组件发布和调用规则配置部分Allow,Create配置元素详细说明: 属性: Creator 配置业务组件的创建类型。主要有四种:Spring、New、 none 、Script
9、s。 JavaScript 前台页面javascript引用此组件的名称。名称需要唯一。 scope 组件的作用范围或则叫做生命周期。这个和Servlet的生命周期的作用是 一样的。共Session、request、application、page四个选项。,3、DWR配置说明,3、dwr.xml的业务组件发布和调用规则配置部分Allow,Create配置元素详细说明: 子节点: Param 配置业务组件的创建参数。Name属性设置名称,value属性设置业务组件的具体路径(类全名称)。 Include 授权方式保护业务组件方法的可见性。属性method可以访问的方法名称。如果没有配置则默认为
10、所有方法都可以访问。 exclude 排除方式保护业务组件方法的可见性。属性method设置不可以访问的方法名称。除此之外的都可以访问。如果有需要控制业务组件方法的访问权限时建议采用这种方式。,3、DWR配置说明,4、dwr.xml的业务组件方法签名配置部分Signatures,Signatures是用来配置Java Bean数据类型转换时遇到不能确定转换类型的情况。如: Bean.setList(List a)方法,DWR设置集合a的时候就无法确定a这个集合里需要填充哪种数据类型。所以针对有输入集合对象的情况就需额外设置Signatures配置节点来设置。这个节点的配置如下: account
11、s); DemoBusinessObject.getListSet(List inList); ,3、DWR配置说明,4、dwr.xml的业务组件方法签名配置部分Signatures,熟悉C+模板编程或java范型编程的开发人员对这些东西并不陌生。这里主要是采用范型机制来设置bean转换时的集合元素类型。注意DWR有套解析机制所以这里并不需要JDK1.5的支持。 Signatures主要有两个部分: Import部分 和java文件的作用一样 另一部分对方法的签名进行范型的设定。返回结果的集合元素类型不需要设置,因为可以在运行时确定。,4. DWR中的JavaScript简介,DWR根据dwr
12、.xml生成和Java代码类似的Javascript代码。,4.1 简单的回调函数,DWR根据dwr.xml生成和Java代码类似的Javascript代码。,假设你有一个这样的Java方法: public class Remote public String getData(int index) . ,4.1 简单的回调函数,我们可以在Javascript中这样使用:, function handleGetData(str) alert(str); Remote.getData(42, handleGetData); ,4.1 简单的回调函数,42是Java方法getData()的一个参数。
13、 此外你也可以使用这种减缩格式: Remote.getData(42, function(str) alert(str); );,4.2 调用元数据对象,另外一种语法时使用调用元数据对象来指定回调函数和其他的选项。上面的例子可以写成这样:,Remote.getData(42, callback:function(str) alert(str); );,4.2 调用元数据对象,另外一种语法时使用调用元数据对象来指定回调函数和其他的选项。上面的例子可以写成这样:,Remote.getData(42, callback:function(str) alert(str); );,4.2 调用元数据对象
14、,在回调函数的元数据中你可以指定超时和错误的处理方式。例如: Remote.getData(42, callback:function(str) alert(str); , timeout:5000, errorHandler:function(message) alert(Oops: + message); );,4.3 查找回调函数,如果第一个或最后一个是一个函数,那么它就是回调函数,没有元数据对象,并且其他参数都是Java的方法参数。,4.4创造一个与Java对象匹配的Javascript对象,假设你有这样的Java方法: public class Remote public void setPerson(Person p) this.person = p; ,4.4创造一个与Java对象匹配的Javascript对象,Person对象的结构是这样的: public Person private String name; private int age; private Date appointments; / getters and setters . ,4.4创造一个与Java对象匹配的Javascript对象,那么你可以在Javascript中这样写: var p = name:Fred Bloggs, age:42
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省2026届高三下学期普通高中学业水平4月调研数学试卷
- 期中调研题库及答案
- 幼儿试讲游戏类面试技巧
- 小学民办学校毕业生去向追踪-基于2023年初中入学录取名单
- 雨课堂学堂在线学堂云《审计心理案例分析(西南政法)》单元测试考核答案
- 纤维结构优化设计
- 2026版高考物理二轮复习微专题13 热学(学用)
- 神经递质与突触可塑性
- 2025-2030中国丙烯酸丁酯市场深度评估与投资可行性专项调研研究报告
- 2026全球与中国超滤膜和微滤膜行业需求潜力及投资趋势预测报告
- 高空作业车安全操作规程
- 2024云南省委党校研究生招生考试真题(附答案)
- 诺如病毒考试题及答案
- DB45∕T 2479-2022 一般固体废物填埋场水文地质工程地质勘察规范
- 岗位安全责任清单意义
- 2025年焊工(技师)考试练习题库(附答案)
- 学术自由与责任共担:导师制度与研究生培养制的深度探讨
- 法拍司辅内部管理制度
- 道路损坏修缮协议书模板
- 2025年上海市各区高三二模语文试题汇编《现代文一》含答案
- 公司履约保函管理制度
评论
0/150
提交评论