DWR3.0例子(注解)

项目所需jar包
commons-logging-1.1.1.jar
dwr3.0.jar

附件是Demo

DwrModel.java
package com.medbri.model;

import org.directwebremoting.annotations.DataTransferObject;
import org.directwebremoting.annotations.RemoteProperty;

@DataTransferObject
public class DwrModel {
@RemoteProperty
private String id;
@RemoteProperty
private String userName;
@RemoteProperty
private String passWrod;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getUserName() {
return userName;
}

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

public String getPassWrod() {
return passWrod;
}

public void setPassWrod(String passWrod) {
this.passWrod = passWrod;
}
}


DwrAppp.java

package com.medbri.service;

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;

import com.medbri.model.DwrModel;

@RemoteProxy
public class DwrAppp {
Logger logger = Logger.getLogger(DwrAppp.class);

@RemoteMethod
public String getStri(String str) {
logger.info("测试成功");
return str;
}

@RemoteMethod
public List<DwrModel> getDwrModelAll() {
logger.info("集合测试成功");
List<DwrModel> models = new ArrayList<DwrModel>();
DwrModel model = new DwrModel();
model.setId("1");
model.setUserName("di");
model.setPassWrod("123456");
DwrModel model1 = new DwrModel();
model1.setId("2");
model1.setUserName("m");
model1.setPassWrod("123");
models.add(model);
models.add(model1);
return models;
}

@RemoteMethod
public DwrModel getDwrModel() {
logger.info("对象测试成功");
DwrModel model = new DwrModel();
model.setId("1");
model.setUserName("dsi");
model.setPassWrod("123456");
return model;
}

}

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
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>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type='text/javascript' src='/MedbriDwrApp/dwr/interface/DwrAppp.js'></script>
<script type='text/javascript' src='/MedbriDwrApp/dwr/engine.js'></script>
<script type='text/javascript' src='/MedbriDwrApp/dwr/util.js'></script>
<script type="text/javascript">
function getAlluser() {
DwrAppp.getDwrModelAll(proAlluserCallback);
}

function proAlluserCallback(data) {
for (i = 0; i < data.length; i++) {
alert("us:=" + data[i].userName + "\n" + "pw:=" + data[i].passWrod
+ "\n userId:=" + data[i].id);
}
}
function getStri() {
var name = dwr.util.getValue("str")//获取id元素
DwrAppp.getStri(name, getStrCallback);
}

var getStrCallback = function(data) {
//data是Java返回的结果
alert(data);
dwr.util.setValue("strcall", data);//把返回结果赋值给元素
}

function getDwrModel(){
DwrAppp.getDwrModel(getDwrModelCallback);
}
function getDwrModelCallback(data){
alert("us:=" + data.userName + "\n" + "pw:=" + data.passWrod
+ "\n userId:=" + data.id);
}
</script>
</head>
<body>
测试带参数的方法调用
<input type="text" name="str" value="" οnblur="getStri()">
<input type="text" name="strcall" value="">
<br>
测试获取一个集合
<input type="button" name="getall" value="获取一个集合"
οnclick="getAlluser()"><br>
测试获取一个对象
<input type="button" name="getmodel" value="获取一个对象"
οnclick="getDwrModel()">
<br>
</body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<description>dwr-invoker</description>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<param-value>
<!--此处是关键用了dwr的注解如果没到这里部署dwr无法正常使用-->
<init-param>
<param-name>classes</param-name>

com.medbri.service.DwrAppp,com.medbri.model.DwrModel</param-value>
</init-param>
<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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值