几经周折,参考网上的各种入门实例,终于完成了自己的第一个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>
分享到:
相关推荐
dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr...
dwr实例教程 很好的入门实例 学习完可以很好的使用动态验证登录 菜单动态刷新
dwr实例操作+rmi实例操作 dwr实例操作+rmi实例操作
dwr经典实例(9个常用实例)dwr经典实例(9个常用实例)
dwr3.x的实例,其中有反转ajax,轮询,文件上传,下载,时钟,编辑,查询等实例。
dwr的入门实例,可以实现使用ajax前台调用后台的方法
DWR 入门DWR 入门DWR 入门DWR 入门DWR 入门欢迎使用 STRUT2 DWR 入门STRUT2 DWR 入门STRUT2 DWR 入门STRUT2 DWR 入门
dwr3的快速入门,一个简单实例.快速掌握dwr3的用法,快速开发
DWR快速配置入门.DWR快速配置入门.DWR快速配置入门.DWR快速配置入门.DWR快速配置入门.DWR快速配置入门.
dwr.demo dwr实例dwr.demo dwr实例dwr.demo dwr实例dwr.demo dwr实例dwr.demo dwr实例dwr.demo dwr实例dwr.demo dwr实例
一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例
Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr...
本资料详细讲述了dwr的配置及简单常见的应用,方便快速上手!
异步调用java方法,dwr简单实例! 异步调用java方法,dwr简单实例! 异步调用java方法,dwr简单实例!
DWR入门教程及实例(含源代码),DWR的入门教程,jar文件夹中提供DWR所用jar包,运行源代码时需导入此文件夹中所有jar包
DWR中文文档 dwr.jar dwr入门教程 很好的入门资料!!
自己写的dwr实例。方便大家学习,包括jar文件,希望对大家有帮助
DWR消息推送简单实例。maven工程。
dwr 入门实例,新手可以借鉴一下,很简单的~一看就明白
DWR中文文档pdf文档 实例下载 这里对DWR里面的engine.js, util.js 以及反射原理都有详细的讲述。