`

dwr实战演练(原创) 简单实例 入门学习dwr

阅读更多

学习配置dwr有几个步骤:
1、需要下载dwr的架包,在这篇文章的下面有下载,下载完放置到工程的lib目录下。
2、配置web.xml,这里面不用做任何修改,直接看下面的代码(把下面的代码放置在web.xml中):

<!-- 配置dwr -->
  <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>false</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>

 

3、配置dwr.xml,要求和web.xml在同一个路径下,直接见代码:

<?xml version="1.0" encoding="UTF-8"?>   
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">  
<dwr>  
<allow> <!--此处将pojos包下的所有javaBean转换为javascript对象使用-->  
<convert match="DwrPackage.POJO.User" converter="bean"></convert> 
<!-- javascript的对象是user,create=“new”是DWR自己创建UserDelegate这个类的实例,其他的还有spring方式,通过与IOC容器Spring进行集成 -->  
<create javascript="user" creator="new">  
<param name="class" value="DwrPackage.Service.UserService"></param> 
<!-- include表示客户端可以通过user调用服务器对象的方法,如果不写,则表示可调用这个类的所有方法.可写可不写--> 
<include method="isLogin"/> 
<include method="getUserBy"/> 
<!-- <exclude method="getUserBy"/>   --> 
</create>  
</allow>  
</dwr> 

 
4、服务器端业务逻辑代码,为了方便测试,我写的很简洁,包括两个一个pojo,一个service,相信大家都懂,直接见代码:

***User.java*** 
package DwrPackage.POJO; 

/** 
* 配置一个pojo-User 
* 
* @class User 
* @description 
* @author 李智慧 
* @copyRight copyright(c) 2011 广东南航易网通电子商务有限公司,Rights Reserved 
* @time Dec 14, 2011 5:12:53 PM 
*/ 
public class User { 
public String userName; 
public int age; 
public String address; 
public char sex; 

public String getUserName() { 
return userName; 
} 

public void setUserName(String userName) { 
this.userName = userName; 
} 

public int getAge() { 
return age; 
} 

public void setAge(int age) { 
this.age = age; 
} 

public String getAddress() { 
return address; 
} 

public void setAddress(String address) { 
this.address = address; 
} 

public char getSex() { 
return sex; 
} 

public void setSex(char sex) { 
this.sex = sex; 
} 

public User(String userName, int age, String address, char sex) { 
super(); 
this.userName = userName; 
this.age = age; 
this.address = address; 
this.sex = sex; 
} 

} 

 

***UserService.java*** 
package DwrPackage.Service; 

import DwrPackage.POJO.User; 

/** 
* 配合dwr,模拟业务逻辑层操作 
* 
* @class UserService 
* @description 
* @author 李智慧 
* @copyRight copyright(c) 2011 广东南航易网通电子商务有限公司,Rights Reserved 
* @time Dec 14, 2011 5:16:16 PM 
*/ 
public class UserService { 
/** 
* 测试的时候,只要有username不为空,就返回已经登录状态。 
* 
* @param userName 
* @return 
*/ 
public boolean isLogin(String userName) { 
if (userName == null || "".equals(userName)) { 
return false; 
} else { 
return true; 
} 
} 

/** 
* 获取某个用户,这里是测试,返回固定的值。 
* 
* @return 
*/ 
public User getUserBy(int id) { 
User user = null; 
if (id == 1) { 
user = new User("admin", 20, "广东省广州市", 'M'); 
} else if (id == 2) { 
user = new User("nieke", 22, "广东省深圳市", 'F'); 
} 
return user; 
} 
} 

 

5、前台页面,这里我使用的是jsp页面,见代码:
要导入三个js,两个是基本环境,一个是user.js和配置文件中的名称一致。

<%@ 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>  
<base href="<%=basePath%>"> 
<title>HelloWorld! Applet</title>  
<script src="<%=request.getContextPath() %>/dwr/interface/user.js" type="text/javascript"></script> 
<script src="<%=request.getContextPath() %>/dwr/util.js" type="text/javascript"></script> 
<script src="<%=request.getContextPath() %>/dwr/engine.js" type="text/javascript"></script> 
<script> 
function dwrTest(){ 
var userName=dwr.util.getValue("userName"); 
user.getUserBy(1,callBack); 
} 
function callBack(str){ 
var userName = str.address; 
alert(userName); 
} 
</script> 
</head> 
<body> 
<input type="text" name="userName" /> 
<input type="button" value="测试DWR功能" name="bt" id="bt" onclick="dwrTest()"/> 
</body>  
</html>  

 
说明:一共5个步骤,本人已经测试成功,相信大家也能配置成功搭建好平台。
到这里dwr的简单实例实战就结束了,是不是很简单?可以开始你们的征途啦……
如果还有不清楚的,欢迎联系本人伊妹儿:lizhihui19871127@163.com.

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics