几经周折,参考网上的各种入门实例,终于完成了自己的第一个DWR例子。好,不多说,回放一遍整个过程。
1.在myeclipse下建立一个web工程,取名为dwr,导入dwr.jar和commons-logging.jar包到lib目录下。
2.建立实例类User
package test;
public class User {
//登陆ID,主键唯一
private String id;
//姓名
private String name;
//口令
private String password;
//电子邮件
private String email;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
3.建立UserDao类
package test;
import java.util.HashMap;
import java.util.Map;
public class UserDAO {
//存放保存的数据
private static Map dataMap = new HashMap();
//持久用户
public boolean save(User user) {
if (dataMap.containsKey(user.getId()))
return false;
System.out.println("下面开始保存用户");
System.out.println("id:"+user.getId());
System.out.println("password:"+user.getPassword());
System.out.println("name:"+user.getName());
System.out.println("email:"+user.getEmail());
dataMap.put(user.getId(), user);
System.out.println("用户保存结束");
return true;
}
//查找用户
public User find(String id) {
return (User)dataMap.get(id);
}
}
4.建立DWRUserAccess 类
package test;
public class DWRUserAccess {
UserDAO userDAO = new UserDAO();
public boolean save(User user) {
return userDAO.save(user);
}
public User find(String id) {
return userDAO.find(id);
}
}
5.修改web.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- 配置DWR的核心Servlet -->
<listener>
<listener-class>org.directwebremoting.servlet.DwrListener</listener-class>
</listener>
<servlet>
<!-- 指定DWR核心Servlet的名字 -->
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
<!-- 指定DWR核心Servlet的实现类 -->
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<!-- 指定DWR核心Servlet处于调试状态 -->
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 指定核心Servlet的URL映射 -->
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
6.建立dwr.xml文件,和web.xml在同级目录下
<?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="new" javascript="DWRUserAccess">
<param name="class" value="test.DWRUserAccess" />
</create>
<convert converter="bean" match="test.User" />
</allow>
</dwr>
7.编写JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>DWR测试</TITLE>
<script src="dwr/engine.js"></script>
<script src="dwr/util.js"></script>
<script src="dwr/interface/DWRUserAccess.js"></script>
</HEAD>
<BODY>
<B>用户注册</B>
<br>
------------------------------------------------
<Br>
<form name="regForm">
登陆ID:
<input type="text" name="id">
<br>
口 令:
<input type="password" name="password">
<br>
姓 名:
<input type="text" name="name">
<br>
电子邮件:
<input type="text" name="email">
<br>
<input type="button" name="submitBtn" value="提交" onclick="OnSave()">
<br>
</form>
<br>
<br>
<B>用户查询</B>
<br>
------------------------------------------------
<Br>
<form name="queryForm">
登陆ID:
<input type="text" name="id">
<br>
<input type="button" name="submitBtn" value="提交" onclick="OnFind()">
<br>
</form>
<br>
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
function saveFun(data) {
if (data) {
alert("注册成功!");
} else {
alert("登陆ID已经存在!");
}
}
function OnSave() {
var userMap = {};
userMap.id = regForm.id.value;
userMap.password = regForm.password.value;
userMap.name = regForm.name.value;
userMap.email = regForm.email.value;
DWRUserAccess.save(userMap, saveFun);
}
function findFun(data) {
if (data == null) {
alert("无法找到用户:"+queryForm.id.value);
return;
}
alert("找到用户,nid:"+data.id+",npassword:"+data.password+",nname:"+data.name+",nemail:"+data.email);
}
function OnFind() {
DWRUserAccess.find(queryForm.id.value, findFun);
}
</SCRIPT>
分享到:
相关推荐
2. **基本使用**:如何创建第一个DWR示例,包括定义Java类,创建对应的JavaScript接口,以及在HTML页面上进行调用。 3. **实例教程**:可能包含一系列逐步指导的实例,例如使用DWR实现简单的CRUD操作(创建、读取、...
您的第一个DWR!"; } } ``` 为了使客户端能够调用这个Java方法,还需要编写一个`dwr.xml`配置文件来告诉DWR Servlet如何处理这些对象: ```xml <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD DirectWeb ...
您的第一个DWR!"; } } ``` 为了使DWR能够识别并暴露这个Java类,我们需要创建一个名为`dwr.xml`的配置文件。在这个文件中,我们指定允许创建的新实例(`creator="new"`)以及JavaScript中使用的名称(`javascript...
2. **第一个DWR程序:Hello World** - **将DWR放入工程**:将DWR的jar包添加到项目的类路径中。 - **编辑配置文件**:创建`web.xml`和`dwr.xml`文件来配置DWR。`web.xml`用于配置servlet和初始化参数,而`dwr.xml...
这篇博客文章“我的第一个DWR程序”将引领读者入门DWR的使用,通过一个简单的实例来演示其基本功能。 【描述】:虽然描述部分为空,但根据标题,我们可以推测这篇文章可能是作者分享自己初次尝试使用DWR时的步骤和...
在这个"一个简单的dwr例子dwrTest"中,我们将会探讨DWR的基础用法以及如何在一个MyEclipse环境中设置和运行这个入门实例。 首先,DWR的主要功能是提供AJAX(异步JavaScript和XML)的支持,使得Web应用能够无需刷新...
- **"DWR使用步骤.doc"**:这份文档很可能是详细介绍了DWR的使用步骤,包括如何配置、创建第一个DWR应用等。 - **"dwr.jar"**:这是DWR的核心库,包含了所有必需的类和接口。 - **"commons-logging-1.1.1.jar"**...
DWR的入门包括基本的安装步骤和第一个程序的运行。首先,需要将DWR库添加到项目中,然后在`web.xml`中配置DWR的servlet和初始化参数。接着,创建一个简单的Java服务类,并编写相应的JSP页面来调用这个服务。 ##### ...
**1.2 第一个DWR程序:HelloWorld** - **1.2.1 将DWR放入你的工程** 首先需要将DWR的库文件加入到项目的类路径中,这通常可以通过将DWR的JAR包放到项目的lib目录下并将其添加到构建路径中实现。 - **1.2.2 编辑...
##### 2.1 第一个DWR程序:Hello World **步骤**: 1. **将DWR放入你的工程**:下载DWR库并将其添加到项目的类路径中。 2. **编辑配置文件**:修改`web.xml`和`dwr.xml`以配置DWR。 - `web.xml`:注册DWR Servlet...
##### 1.2 第一个DWR程序:HelloWorld **步骤详解**: 1. **将DWR放入你的工程**:首先需要将DWR的相关jar包添加到项目中。 2. **编辑配置文件**:配置`web.xml`文件以启用DWR服务。 3. **编写service**:创建一个...
- 第一个`<create>`元素允许客户端创建`java.util.Date`对象,并将其命名为`JDate`。 - 第二个`<create>`元素允许创建自定义的Java Bean,并在客户端使用`Demo`来引用。 #### 五、DWR工作原理 1. **客户端调用**...
- **第一个DWR程序:HelloWorld** - **将DWR放入你的工程**:指明了如何将DWR框架添加到现有的项目中。 - **编辑配置文件**:详细解释了`web.xml`和`dwr.xml`配置文件的重要性及其基本配置项。 - **编写service**...