`
medbricom
  • 浏览: 105662 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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="" onblur="getStri()">
<input type="text" name="strcall" value="">
<br>
测试获取一个集合
<input type="button" name="getall" value="获取一个集合"
onclick="getAlluser()"><br>
测试获取一个对象
<input type="button" name="getmodel" value="获取一个对象"
onclick="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>
分享到:
评论

相关推荐

    springMVC整合DWR3.0 实例

    本文将详细介绍如何将SpringMVC与DWR3.0进行整合,并提供一个实际的例子来帮助读者更好地理解和掌握这一整合过程。通过阅读本文,您将能够学会如何在自己的项目中实现这一集成,从而提升项目的性能和可维护性。 ###...

    Dwr3.0纯注解(纯Java Code配置)配置与应用浅析二之前端调用后端

    本文将深入探讨如何在Dwr3.0中实现这种纯注解配置,并讲解前端如何调用后端的方法。 首先,让我们回顾一下后端的配置。在纯Java配置的Dwr3.0中,我们不再需要在dwr.xml中声明暴露的服务。相反,我们可以在Servlet的...

    DWR与SPRING,DWR与STRUTS2的整合

    提供的文档“dwr与spring.doc”和“dwr与struts2.doc”可能详细阐述了整合过程和最佳实践,而“一个小例子.txt”可能包含了一个实际整合示例,帮助读者更好地理解整合步骤和实现方式。学习并掌握这些知识对于提升...

    一个Spring+hibernate+dwr的例子程序

    在这个项目中,DWR3.0可能被用来实现在前端页面与后台服务之间的交互,比如实时数据显示或者用户输入的即时验证。 4. **LigerUI**:LigerUI是一个基于jQuery的前端UI框架,提供了丰富的组件和样式,如表格、表单、...

Global site tag (gtag.js) - Google Analytics