DWR使用步骤:
1,首先将DWR.JAR包加到工程中。
2,修改WEB.XML文件。将下列代码加到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,创建dwr.xml 在WEB-INF目录下面
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create javascript="JDate" creator="new">
<param name="class" value="java.util.Date"></param>
</create>
</allow>
</dwr>
其实只要创建那个DTD引用就行了。其它的要灵活配置。
注意的是:为JAVA类拟定JAVASCRIPT名称时以下事项
避免使用JAVASCRIPT的关键字
避免使用方法重载,因为JAVASCRIPT没有像JAVA一样的包命名机制
4,打开测试页。http://localhost:8080/工程名/dwr,你就可以看到你的类拟定的JAVASCRIPT名。
5,将下列的三段话。复制到你的网页中去。
<script type='text/javascript' src='/DWRTest/dwr/interface/JDate.js'></script>
<script type='text/javascript' src='/DWRTest/dwr/engine.js'></script>
<script type='text/javascript' src='/DWRTest/dwr/util.js'></script>
然后再程序中调用就行了。
注意一下。这里如果要得到值,要用到回调方法。
比如,在类中有一个方法hello是要返回一个字符串。而当调用这个方法的时候,最后一个参数是javascript中回调方法的名字
Test.hello(show); 这里表示调用服务端的hello方法,值返回到回调方法show中。
Function show(msg) 代表从hello返回的值保存在msg中,在这个方法中就可以调用msg来显示返回的值了。
Dwr.xml的DTD文档说明
根dwr下面按先后顺序包括下面三个子元素:
Init 定义哪些程序启动时作为dwr运行库所需要的类自动加载并初始化类。
Allow 定义那此允许客户端调用的javascript远程调用的java类。
Signatures 此元素签名心要的方法。当使用集合时,为转换器指定java反射机制外的类别信息。
Allow下的create元素说明:
Create告诉DWR应当公开给AJAX请求的服务端类,并定义DWR如何获得要进行远程的类的实例。
Create的元素creator的值有下面几个:
New 告诉dwr框架调用类的默认的构造方法来取得实例。
Scripted 选择值则代表允许使用一些脚本语言。比如用beanshell来创建类的实例对象。这在类无法通过配置远程调用时候用。
Spring 代表允许远程调用spring bean。
Creator元素与param的name值选择时代表的意思:
Creator值 Param的name值 Param的value值
new Class 允许远程调用的完整类的名称
scripted language BSF支持的语言名称
scripted script 供远程调用的对象脚本
spring Location* 任何从location起始的参数名称,每个参数代表一个spring配置文件
spring beanName 可以从配置文件中取得的bean的名称
Create下的javascript元素告诉从javascript代码访问对象时所使用的名称。
Create的内嵌元素param元素指定creator要创建的java类。Include指定要公开的方法的名称,反之则可以用exclude来指定哪些方法不被公开。
Convert元素的convertor元素则负责create的creator元素公开的方法的参数和返回类型。Convert负责告诉DWR在服务端JAVA对象表示和序列化的javascript之间如何转换数据类型。
1,首先将DWR.JAR包加到工程中。
2,修改WEB.XML文件。将下列代码加到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,创建dwr.xml 在WEB-INF目录下面
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create javascript="JDate" creator="new">
<param name="class" value="java.util.Date"></param>
</create>
</allow>
</dwr>
其实只要创建那个DTD引用就行了。其它的要灵活配置。
注意的是:为JAVA类拟定JAVASCRIPT名称时以下事项
避免使用JAVASCRIPT的关键字
避免使用方法重载,因为JAVASCRIPT没有像JAVA一样的包命名机制
4,打开测试页。http://localhost:8080/工程名/dwr,你就可以看到你的类拟定的JAVASCRIPT名。
5,将下列的三段话。复制到你的网页中去。
<script type='text/javascript' src='/DWRTest/dwr/interface/JDate.js'></script>
<script type='text/javascript' src='/DWRTest/dwr/engine.js'></script>
<script type='text/javascript' src='/DWRTest/dwr/util.js'></script>
然后再程序中调用就行了。
注意一下。这里如果要得到值,要用到回调方法。
比如,在类中有一个方法hello是要返回一个字符串。而当调用这个方法的时候,最后一个参数是javascript中回调方法的名字
Test.hello(show); 这里表示调用服务端的hello方法,值返回到回调方法show中。
Function show(msg) 代表从hello返回的值保存在msg中,在这个方法中就可以调用msg来显示返回的值了。
Dwr.xml的DTD文档说明
根dwr下面按先后顺序包括下面三个子元素:
Init 定义哪些程序启动时作为dwr运行库所需要的类自动加载并初始化类。
Allow 定义那此允许客户端调用的javascript远程调用的java类。
Signatures 此元素签名心要的方法。当使用集合时,为转换器指定java反射机制外的类别信息。
Allow下的create元素说明:
Create告诉DWR应当公开给AJAX请求的服务端类,并定义DWR如何获得要进行远程的类的实例。
Create的元素creator的值有下面几个:
New 告诉dwr框架调用类的默认的构造方法来取得实例。
Scripted 选择值则代表允许使用一些脚本语言。比如用beanshell来创建类的实例对象。这在类无法通过配置远程调用时候用。
Spring 代表允许远程调用spring bean。
Creator元素与param的name值选择时代表的意思:
Creator值 Param的name值 Param的value值
new Class 允许远程调用的完整类的名称
scripted language BSF支持的语言名称
scripted script 供远程调用的对象脚本
spring Location* 任何从location起始的参数名称,每个参数代表一个spring配置文件
spring beanName 可以从配置文件中取得的bean的名称
Create下的javascript元素告诉从javascript代码访问对象时所使用的名称。
Create的内嵌元素param元素指定creator要创建的java类。Include指定要公开的方法的名称,反之则可以用exclude来指定哪些方法不被公开。
Convert元素的convertor元素则负责create的creator元素公开的方法的参数和返回类型。Convert负责告诉DWR在服务端JAVA对象表示和序列化的javascript之间如何转换数据类型。