Ajax框架,DWR介绍,应用,样例

使用Ajax框架
1.简化JavaScript的开发难度
2.解决浏览器的兼容性问题

3.简化开发流程


经常使用Ajax框架

Prototype

一个纯粹的JavaScript函数库,对Ajax提供良好支持

jQuery

1.很优秀的JavaScript库,对Ajax提供了良好的支持

2.与Prototype设计思想不同的是在使用jQuery之后,开发人员操作的不再是DOM对象而是jQuery对象

DWR

1.        很专业的Java Ajax框架

2.        通过DWR框架,可将Java类的方法直接暴露给client

Dojo

① Dojo功能强大,包括很多内容,Ajax仅仅是当中之中的一个

② 特点在于控件和控件系统

③ 眼下Dojo仍然在开发完好中,版本号更新速度很快

AjaxTags

由一系列JSP标签组成,将经常使用的Ajax应用场景封装为简单的标签

Ajax框架,DWR介绍,应用,样例



使用DWR框架简化Ajax开发

1.DWR(Direct Web Remoting)是一个Java Ajax框架
2.DWR框架同意开发者在client通过JavaScript代码调用server端的Java方法
3.DWR框架主要由两部分组成:
1.clientJavaScript代码直接调用server端Java方法
2.server上执行的DWR核心Servlet负责处理client请求,将client请求托付到实际的Java对象进行处理,并将结果返回给client

下载DWR框架

DWR的官方网站:

各下载项说明:
1.JAR File:该选项仅下载dwr.jar文件
2.WAR File:该选项下载dwr.jar文件及其其它依赖的类库,还包含DWR的使用范例
3.Sources:该选项下载DWR的源文件

安装DWR

1.加入dwr.jar文件到WEB-INF/lib文件夹下
2.改动web.xml文件,加入例如以下代码

<servlet> <servlet-name>dwr_invoker</servlet-name> <servlet-class> org.directwebremoting.servlet.DwrServlet </servlet-class> <init-param><!--初始化參数,debug开发时设置--> <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 创建dwr.xml文件
1.与web.xml文件位于同一文件夹
2.该文件用于定义Java类和JavaScript之间的相应关系,将Java类的方法暴露给client
其结构例如以下:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd"> <dwr> <allow> <!-- 创建脚本对象 --> <create creator="..." javascript="..." scope="..."> <!-- 要公布的类名 --> <param value="..." /> <!-- 暴露给client的,要公布的方法名 --> <include method="…" /> <!-- 不暴露给client的 --> <exclude method="…" /> </create> <!-- js和服务端的对象进行转换 --> <convert converter="..." match="..." /> </allow> </dwr> dwr.xml具体解释 (參考dwr.xml)

<allow>元素:定义了DWR可以创建和转换的类,是dwr.xml中最重要的元素

<create>元素:创建器定义怎样将一个Java类转换成JavaScript对象

<convert >元素:类型转换器,用于定义Java类型和JavaScript类型之间的相应关系

<create>元素的属性:

creator属性:DWR内置多个创建器用于处理多种类型Java类

javascript属性:在client给创建的JavaScript对象命名。该名字将在页面里作为js被导入

scope属性:作用域。选项能够是:application, session,request和page。默觉得page

<create>元素的子元素:

<param>元素:用来指定创建器的參数。当中name属性用来指定參数名称,value指定參数的值

<include>元素:定义同意訪问的方法列表,其它方法将不暴露给client

<exclude>元素:定义不同意訪问的方法列表,当中method属性指定不被暴露给client的方法(其它没指定的方法默认暴露给client)

<convert>元素

全部基本类型,boolean、 int 、double等等

包装类,Boolean、Integer等等

java.lang.String

日期类型,如:java.util.Date 和 java.sql.Times、java.sql.Timestamp等

数组(存放以上类型的)

集合类型 (List、Set、Map、Iterator等等)

Bean转换器

用于完毕JavaBean对象和JavaScript对象之间的转换

DWR默认关闭Bean转换器

假设须要进行JavaBean对象和JavaScript对象之间的转换,须要在dwr.xml中显式设置

<convert converter="bean"match="www.dwrdemo.DwrBean"/>

为Webproject加入DWR支持,样例:

创建web Project :DWRDemo
增加DWR jar包 ;
(要增加commons-logging.jar)
改动web.xml文件:加servlet

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzzyxp.html