`
medbricom
  • 浏览: 104739 次
  • 性别: 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>
分享到:
评论

相关推荐

    DWR 3.0例子程序原码

    在"**DWR 3.0例子程序原码**"中,我们可以深入理解DWR的核心特性和使用方式。这个压缩包文件包含了名为`dwr0.1`的子文件,这很可能是示例程序的源代码或者是特定版本的DWR库。通过研究这些代码,我们可以学习以下...

    dwr3.0文档和jar包

    3. **自动暴露Java对象**:DWR允许开发者通过简单的注解,如`@RemoteProxy`,将Java对象自动暴露给JavaScript,无需编写额外的接口层。 4. **Caching**:DWR 3.0支持缓存策略,可减少不必要的服务器请求,提高响应...

    dwr3.0.jar

    DWR3.0是DWR的一个重要版本,它提供了许多增强的功能和改进,以提高开发者的工作效率和用户体验。 DWR的核心功能在于它提供了一种安全且高效的方式,使得JavaScript可以调用服务器端的Java方法,仿佛这些方法就在...

    DWR3.0 jar包API文档

    DWR3.0是DWR的一个重要版本,它提供了许多增强的功能和改进,使得开发人员能够更高效地构建动态、交互式的Web应用。 DWR3.0的JAR包包含了所有必要的类和资源,用于在服务器端集成DWR框架。这个JAR文件通常会包含...

    dwr3.0.jar_ajax

    标题中的“dwr3.0.jar_ajax”暗示了这个压缩包包含了DWR3.0的核心库文件,即dwr3.0.jar。这个JAR文件是DWR的核心组件,包含了所有必需的类和资源,使得开发者可以在服务器端与JavaScript进行交互,实现异步更新和...

    基于Spring4框架的DWR3.0注解集成应用设计源码

    该项目为基于Spring4框架与DWR3.0注解集成的应用设计源码,包含25个文件,涵盖5个XML配置文件、3个HTML页面、3个Java类文件、2个...此项目实现了DWR3.0与Spring4的无缝集成,支持通过注解进行服务端与客户端的交互。

    dwr3.0+SSH2

    【标题】"dwr3.0+SSH2"是一个基于Java技术的Web应用程序开发框架的组合,其中DWR(Direct Web Remoting)是用于在浏览器和服务器之间进行实时通信的库,而SSH2则通常指的是Struts2、Spring和Hibernate这三大开源框架...

    dwr dwr包 dwr3.0文档 dwr3.0.jar

    DWR3.0是该框架的一个版本,提供了许多增强的功能和改进,使得开发人员可以更加便捷地构建富互联网应用程序(RIA)。 在DWR3.0中,有几个核心概念和技术点值得深入探讨: 1. **AJAX 支持**: DWR通过AJAX技术使...

    struts2.2.1+spring 3.0.3+hibernate3.6+dwr3.0全注解整合包

    这个"struts2.2.1+spring 3.0.3+hibernate3.6+dwr3.0全注解整合包"是将这些框架结合在一起,使用注解方式配置,简化了传统的XML配置文件,提高了开发效率和代码的可读性。以下是关于这四个框架及其整合的知识点: 1...

    DWR3.0官方中文入门教程以及dwr3.0jar

    DWR3.0是该技术的一个重要版本,提供了许多增强的功能和改进,使得开发人员能够更高效地构建富互联网应用程序(RIA)。 本入门教程主要涵盖了以下知识点: 1. **DWR的基本概念**:DWR的核心理念是通过JavaScript在...

    dwr3.0搭建与讲解

    在本教程中,我们将深入探讨DWR 3.0的搭建过程以及其基本概念。 ### 1. DWR 3.0 概述 DWR 3.0 是DWR项目的一个重要版本,它提供了改进的性能和更多的特性。DWR的核心理念是打破浏览器与服务器之间的障碍,使得...

    dwr3.0以及相关中文文档

    DWR 3.0是该框架的一个版本,提供了增强的功能和性能改进。在这个版本中,DWR提供了更友好的API,增强了安全性,并支持更多的数据类型转换。 DWR的核心功能在于它能够自动处理JavaScript对象与Java对象之间的映射,...

    dwr3.0反向实例

    在"DWR 3.0反向实例"中,我们将深入探讨这个版本的新特性、配置过程以及如何通过一个简单的Clock实现来演示其工作原理。 DWR 3.0相对于早期的2.0版本,引入了一些重要的改进,包括性能提升、错误处理机制的优化以及...

    dwr-3.0.jar

    最新dwr3.0的包,有需要的朋友就下载吧

    DWR3.0.jar、DWR.war和DWR2.0中文说明文档

    这个压缩包包含了DWR的三个关键组件:DWR3.0.jar,DWR的实例war文件,以及DWR2.0的中文说明文档。以下是关于这些组件的详细知识: 1. **DWR3.0.jar**: DWR3.0.jar是DWR框架的核心库,包含所有必需的类和接口,...

    DWR3.0实现下载

    《DWR3.0实现下载》 DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript和服务器端的Java代码进行交互,从而实现在Web应用中进行动态的Ajax更新。在DWR 3.0版本中,开发者可以更加方便地处理文件下载...

    dwr3.0.rar

    通过解压 "dwr3.0.rar",你将获得DWR 3.0的完整源码、文档、示例以及部署所需的资源。这将帮助你深入了解DWR的工作原理,并在实际项目中快速应用。对于学习和开发基于Java的Web应用,特别是需要利用AJAX技术来提升...

    dwr3.0 jar noncla

    DWR3.0版本是其一个重要的迭代,它引入了多项改进和新特性。在这个讨论中,我们将深入探讨DWR3.0、"noncla"组件以及它与JSF(JavaServer Faces)和Spring框架的集成。 首先,DWR3.0的主要亮点在于其增强了性能和...

Global site tag (gtag.js) - Google Analytics