1. 配置web.xml 文件
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>classes</param-name>
<param-value>
<!—主要是Dwr用到的方法及 属性类 -->
com.dao.user.UserService,
com.bean.User
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
2. pojo
(1) 需要在类上注解@DataTransferObject
(2) 对于属性的注解 需要在属性的get方法上增加@RemoteProperty
如:
@RemoteProperty
public String getEmail() {
return email;
}
3. service
(1) 需要在类上注解@RemoteProxy
@Service("userService") //spring bean 注入
@RemoteProxy(creator = SpringCreator.class, name = "userService", creatorParams = { @Param(name = "beanName", value = "userService") })
//name:js中需要引入的名字 如:
<script src='dwr/interface/userService.js'></script>
//@Param(name = "beanName", value = "userService") }
// name 引用springBean的方式 value 为引用的Spring的name
方法上的注解是:@RemoteMethod 如:
// request 为了回调得到值
@RemoteMethod
public List<User> getAllUser(HttpServletRequest request) {
return getAll();
}
4. js中调用
(1) 导入js
<script src='<%=basePath%>dwr/engine.js'></script>
<script src='<%=basePath%>/dwr/util.js'></script>
<script src='<%=basePath%>dwr/interface/userService.js'></script>
(2) 写方法调用
function getAllUser() {
//主要是直接调用类方法
userService.getAllUser(dealType2Data);
}
// 回调函数
function dealType2Data(result) {
if(result!=null && result.length > 0){
alert(DWRUtil.getValue("email") + ":" + result[0].email);
// DWRUtil.setValue("email", result[0].email);设置值
}
}
function getUser() {
getAllUser();
}
(3) HTML页面
<input type="text" id="email">
<input type="button" name="button" value="点啊" onClick="getUser();">
分享到:
相关推荐
DWR (Direct Web ...总的来说,DWR提供了一种高效且易于使用的解决方案,使得开发者能够构建高度互动的Web应用,同时减少了传统AJAX技术的复杂性。通过学习和掌握DWR,你可以更轻松地创建动态、响应式的网页应用。
DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档DWR文档asdgdffg
这个压缩包包含了DWR的三个关键组件:DWR3.0.jar,DWR的实例war文件,以及DWR2.0的中文说明文档。以下是关于这些组件的详细知识: 1. **DWR3.0.jar**: DWR3.0.jar是DWR框架的核心库,包含所有必需的类和接口,...
这个教程包含了一系列的文档和资源,帮助开发者深入理解和使用DWR。 首先,"DWR学习笔记"提供了对DWR基础概念、核心功能以及实际应用的概述。这些笔记可能包含了DWR的基本架构,如它如何通过AJAX技术实现实时的Web...
在本示例中,我们有一个关于DWR的完整案例,包括配置说明文档和一个Eclipse工程,这对于初学者或者想要深入理解DWR的人来说非常有用。 首先,DWR的核心功能在于它的反向AJAX技术。传统的AJAX请求是单向的,即从...
DWR通过JSON或XML数据格式来传递信息,简化了AJAX的使用。 描述中提到的内容涉及到以下几个关键知识点: 1. **DWR配置**:在实际项目中,设置DWR通常涉及创建`dwr.xml`配置文件,该文件定义了哪些服务器端方法可以...
DWR以及中文说明,还有相关配置及实例.
以下是对DWR包的使用入门的详细说明: 1. **DWR的安装与配置**: - 在Java项目中引入DWR库,通常通过Maven或Gradle添加依赖。 - 配置DWR的`dwr.xml`文件,定义允许的远程方法和类,这是DWR的核心配置文件,用于...
压缩包中的"**DWR_CN_Document.pdf**"很可能是DWR的中文官方文档,包含了详细的技术说明和示例代码,适合深度学习。而"**DWR与界面开发.rar**"可能包含了一些实际的界面开发案例,可以帮助你实践并理解DWR在实际项目...
在这种情况下,`dwr-invoker1`Servlet会处理`/dwr1/*`的请求,并使用`dwr1.xml`作为配置文件。 在DWR中,Java方法的调用非常直观。例如,假设有一个名为`UserService`的Java类,其中有一个`getUserInfo`方法,可以...
Direct Web Remoting (DWR) 是一种开源的Java库,它允许前端JavaScript代码与后端服务器上的Java对象进行直接通信,实现了AJAX(异步JavaScript和XML)的功能。DWR的核心理念是通过JavaScript调用远程Java对象的方法...
这个例子中,DWR会使用内置的"bean"转换器处理`MyCustomClass`对象。 3. **SafariHack元素**:由于早期版本的Safari浏览器存在一些限制,DWR提供了这个元素来解决兼容性问题。 4. **Customelements**:允许开发者...
4. **DWR配置说明**: - 在`dwr.xml`中,你可以配置`<allow>`元素来指定哪些Java类和方法可以暴露给JavaScript。例如: ```xml ``` - 安全性设置:可以使用`<convert>`元素来指定数据类型转换规则,`...
DWR.xml配置文件的基本结构遵循DTD(Document Type Definition)规范,使用XML格式编写。一个典型的DWR.xml配置文件包含以下元素: 1. **DOCTYPE声明**:这是DWR配置文件的开头,用于指定DWR版本和DTD位置。 ```...
### dwr3初学者使用说明 #### 一、简介 Direct Web Remoting(简称DWR)是一种开源技术,它使得JavaScript能够直接调用Java方法变得简单。DWR3是DWR的一个版本,它提供了更为丰富的功能和更好的性能。本文档旨在...
DWR的核心思想是创建一个安全的、高效的、易于使用的AJAX框架。它通过在服务器端暴露Java对象,使得JavaScript可以直接调用这些对象的方法,实现了页面的无刷新更新。DWR提供了一套完整的生命周期管理,包括对象的...
DWR.xml配置文件说明书 1、 建立dwr.xml 配置文件 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下: <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" ...
DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并...本次例子只是用于演示,说明DWR的使用,类设计并不是最优的
使用dwr配置文件可以带来以下几个优势: * 简化开发过程:dwr配置文件可以简化开发过程,减少代码量,提高开发效率。 * 提高系统的可维护性:dwr配置文件可以使系统更加灵活、可维护,易于修改和维护。 * 实现Java...