- 浏览: 546339 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
wa114d:
楼主工作几年了,好厉害
一个面试官对面试问题的分析 -
wobuxiaole:
Good,非常好
30岁前男人需要完成的事 -
小逗逗:
Good,非常好
30岁前男人需要完成的事 -
invincibleLiu:
好帖,要顶!(别投我隐藏啊,这是对BBS最原始一种支持)
Java:synchronized修饰符在静态方法与非静态方法上的区别 -
fayedShih:
第三题,不知道对不对
import java.util.con ...
企业牛逼面试题目 高手进来讨论答题
两个要用的bean:
dwr java file:
dwr.xml:
web.xml:
hellodwr.js:
index.jsp:
package com.bean; public class Cat { private String name; public Cat(String name) { this.name = name; } }
package com.bean; public class Person { private String name; private String age; /** * @param name * @param age */ public Person(String name, String age) { super(); this.name = name; this.age = age; } /** * @return the age */ public String getAge() { return age; } /** * @param age the age to set */ public void setAge(String age) { this.age = age; } public Person() { } public Person(String name) { this.name = name; } public void setName(String name) { this.name = name; } public String getName() { return name; } }
dwr java file:
package com.bean; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; public class HelloDwr { public String hello(String name) { return name + ",您好!您已经开始了DWR的学习之旅,祝您学得开心..."; } public String sendObj(Person p ) { return p.getName() + ",您好!您已经学会了使用JavaBean参数..."; } public Person getBean(String name) { return new Person("服务器端" + name); } public Cat getObject(String name) { return new Cat("服务器端" + name); } public List<Person> getPersonList() { List<Person> result = new ArrayList<Person>(); result.add(new Person("集合aaaa")); result.add(new Person("集合bbbb")); result.add(new Person("集合cccc")); return result; } public Person[] getPersonArray() { Person[] result = new Person[3]; result[0] = new Person("数组aaaa","22"); result[1] = new Person("数组bbbb","33"); result[2] = new Person("数组cccc","44"); return result; } public Map<String, Person> getPersonMap() { Map<String, Person> result = new HashMap<String, Person>(); result.put("first" , new Person("Map aaaa")); result.put("second" , new Person("Map bbb")); result.put("third" , new Person("Map cccc")); return result; } public String sendList(List<Person> pl) { String result = ""; for (Person p : pl) { result += p.getName() + "<br>"; } return result; } public String sendMap(Map<String , Person> pmap) { String result = ""; for (String key : pmap.keySet()) { result += "键" + key + " 其值为:" + pmap.get(key).getName() + "<br>"; } return result; } }
dwr.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"> <dwr> <allow> <create creator="new" javascript="hello"> <param name="class" value="com.bean.HelloDwr"/> </create> <convert converter="bean" match="com.bean.Person"/> <convert converter="object" match="com.bean.Cat"> <param name="force" value="true"/> </convert> </allow> <signatures> <![CDATA[ import com.bean.HelloDwr; import com.bean.Person; import java.util.List; import java.util.Map; ]]> </signatures> </dwr>
web.xml:
<?xml version="1.0" encoding="GBK"?> <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"> <!-- the configuration of DWR --> <servlet> <display-name>DWR Servlet</display-name> <servlet-name>dwr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <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>
hellodwr.js:
//--------------------发送简单字符串参数,返回普通字符串---------------------------- function sendMessage() { var name = document.getElementById("name").value; hello.hello(name , cb) } function cb(data) { document.getElementById("show").innerHTML = data; } //-------------------发送一个JavaBean对象作为参数,返回普通字符串------------------- function sendObject() { var nameValue = document.getElementById("name").value; hello.sendObj({name:nameValue} , cb); } //--------------------调用返回JavaBean方法---------------------- function getBean() { var name = document.getElementById("name").value; hello.getBean(name , beanCb) } function beanCb(data) { document.getElementById("show").innerHTML = data.name + ",您好,您已经学会了使用JavaBean返回值"; } //--------------------调用返回getObject方法---------------------- function getObject() { var name = document.getElementById("name").value; hello.getObject(name , objCb) } function objCb(data) { document.getElementById("show").innerHTML = data.name + ",是从服务器返回的猫的名字"; } //---------------调用返回集合的方法-------------------------- function getBeanList() { hello.getPersonList(listCb); } function listCb(data) { var result=''; for (var i = 0 ; i < data.length ; i ++) { result += data[i].name + "<br>"; } document.getElementById("show").innerHTML = result; } //---------------调用返回数组的方法------------------------- function getBeanArray() { hello.getPersonArray(arrayCb); } function arrayCb(data) { var result=''; for (var i = 0 ; i < data.length ; i ++) { result += data[i].name +data[i].age+ "<br>"; } document.getElementById("show").innerHTML = result; } //---------------调用返回数组的方法------------------------- function getBeanMap() { hello.getPersonMap(mapCb); } function mapCb(data) { var result=''; for (var key in data) { result += "键为" + key + ",其值为:" + data[key].name + "<br>"; } document.getElementById("show").innerHTML = result; } //---------------调用发送集合的方法------------------------- function sendBeanList() { var args = [ {name:"客户端aaa"}, {name:"客户端bbb"}, {name:"客户端ccc"} ]; hello.sendList(args , sendListCb); } function sendListCb(data) { document.getElementById("show").innerHTML = data; } //---------------调用发送Map的方法------------------------- function sendBeanMap() { var args = { first:{name:"客户端aaa"}, second:{name:"客户端bbb"}, third:{name:"客户端ccc"} }; hello.sendMap(args , sendMapCb); } function sendMapCb(data) { document.getElementById("show").innerHTML = data; }
index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>DWR入门</TITLE> <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/hello.js'></script> <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/engine.js'></script> <script type='text/javascript' src="<%=request.getContextPath()%>/dwr/util.js"></script> <script type="text/javascript" src="<%=request.getContextPath()%>/hellodwr.js"></script> </HEAD> <BODY> <h3>DWR入门</h3> 请输入您的名字<input id="name" name="name" type="text"/><br> <input type="button" value="发送简单请求" onClick="sendMessage();"/> <input type="button" value="发送对象参数" onClick="sendObject();"/> <input type="button" value="返回JavaBean" onClick="getBean();"/><br> <input type="button" value="返回Object" onClick="getObject();"/> <input type="button" value="返回Bean集合" onClick="getBeanList();"/> <input type="button" value="返回Bean数组" onClick="getBeanArray();"/><br> <input type="button" value="返回Bean Map" onClick="getBeanMap();"/> <input type="button" value="发送Bean集合" onClick="sendBeanList();"/> <input type="button" value="发送Bean Map" onClick="sendBeanMap();"/><br> <hr> 下面是服务器的回应:<br> <div id= "show"></div> </BODY> </HTML>
- DWRDemo.rar (869.2 KB)
- 下载次数: 7
发表评论
-
jQuery.validate使用手册
2011-03-16 14:51 1392jQuery.validate是一款非常不错的表单验证工具,简 ... -
jQuery弹出层插件大全
2010-12-25 08:55 144411.thickbox 目前用的比较多的,最新版本是 ... -
Validation表单验证
2010-04-14 10:23 2873提供客户端验证有很多好处,最重要的好处,我觉得就是能 ... -
floating windows, drag and drop and google maps
2008-11-22 12:06 2003树形结构代码: <html><head> ... -
Ext.MessageBox
2008-11-21 14:20 1236一、提示框(Ext.MessageBox.alert 或 ... -
ext2.2学习笔记二
2008-11-20 16:04 1300为什么有的例子必须 ... -
ext2.2学习笔记四
2008-11-20 14:30 1149Ext.util.Format类是Ext对数据进行格式化操作的 ... -
ext2.2学习笔记三
2008-11-20 13:37 1339Ext中有两个很重要的方法,一个是decode;一个是enco ... -
ext2.2学习笔记一
2008-11-20 11:04 2390Ext2.2正式发布了,刚下载体验了下。 在ext官方网上下载 ... -
dwr
2008-11-14 16:19 1060在web.xml中加入DWRServlet… 1 2 ... -
DWR入门Demo
2008-11-13 17:29 2689DWR(Direct Web Remoting) ...
相关推荐
DWR(Direct Web Remoting)是一个web远程调用框架,利用这个框架可以让AJAX变得很简单,通过DWR可以在客户端通过JavaScript直接调用服务器的Java方法并返回值给JavaScript,整个过程就好像通过本地客户端调用一样,...
下面是对DWR及其在`dwr_demo_test`中的应用进行的详细解释。 1. **DWR的基本概念**: DWR的核心功能是提供一种安全、高效的机制,让JavaScript可以调用Java对象的方法。这涉及到几个关键组件: - **Reverse AJAX*...
这个"DWR-demo.rar"文件包含了一个DWR的示例项目,帮助我们了解如何在实际开发中使用DWR。 DWR的核心功能在于提供一种安全、高效的AJAX解决方案,使得JavaScript可以调用服务器端的方法,更新页面内容而无需刷新...
这个"**dwr.demo dwr实例**"很可能是用来展示如何在实际项目中集成和使用DWR的示例代码。在深入探讨之前,让我们先理解一下DWR的基本概念。 DWR的核心功能是提供了一个JavaScript API,使得JavaScript可以调用...
在这个"DWR Demo"中,我们将会探讨如何使用DWR框架来处理和展示常见的数据结构,如List、Set和Map。 首先,让我们深入了解DWR的核心功能。DWR允许Java方法直接被JavaScript调用,就像它们是本地函数一样,无需手动...
在"DWR框架 DEMO"项目中,我们可以看到一个DWR的简单示例。`DWRDemo`可能包含以下组成部分: 1. **Java后端**:定义了一个或多个Java类,其中包含了可供客户端调用的方法。这些方法通常处理业务逻辑,比如数据库...
DWR框架DEMO的下载提供了实践理解和学习DWR功能的机会。 DWR的核心特性包括: 1. **异步通信**:DWR通过AJAX(Asynchronous JavaScript and XML)技术实现了浏览器与服务器间的无刷新通信。用户在页面上的操作可以...
**DWR(Direct Web Remoting)框架学习指南** DWR,全称为Direct Web Remoting,是一种在Web应用程序中实现客户端与服务器端之间直接通信的技术。它允许JavaScript在浏览器端直接调用Java方法,实现了真正的Ajax...
在"Dwr demo - Dwr简单使用"这个项目中,你可以通过以下步骤了解和学习DWR的基本用法: 1. **环境准备**:首先确保你有Eclipse IDE,并且已经安装了Java Development Kit (JDK)。由于DWR是一个Java库,所以你需要一...
在你提供的资源"一个Dwr的demo"中,这是一个面向初学者的教学示例,旨在展示如何使用DWR来实现动态网页功能。这个Demo将帮助你理解DWR的基本工作原理,以及如何在实际项目中集成和使用它。下面我们将深入探讨DWR的...
在这个"Dwr+Demo+helloworld"示例中,我们将探讨如何利用DWR轻松实现JavaScript与Java之间的交互,创建一个简单的"Hello, World!"应用程序。 首先,我们需要了解DWR的基本概念。DWR的核心功能是提供一个代理层,...
这个"Dwr入门Demo"是为初学者准备的一个简单示例,旨在帮助理解DWR的基本概念和用法。 首先,让我们了解DWR的核心功能: 1. **反向AJAX(Reverse Ajax)**:DWR实现了服务器端Java方法与客户端JavaScript之间的...
【DWR(Direct Web Remoting)与Ajax技术详解】 DWR(Direct Web Remoting)是一种在Web应用程序中实现异步JavaScript和XML(Ajax)的方法,它简化了客户端和服务器之间的通信,使得动态更新网页变得更加简单。DWR...
在这个"Dwr3.x demo 实例 例子"中,我们可以学习到以下几个关键知识点: 1. **反转Ajax**:DWR的核心特性之一就是反转Ajax,它将传统的请求-响应模式反转过来,使得服务器可以直接调用客户端的JavaScript方法,而...
通过深入学习和实践这个"DWR入门demo",你将能够掌握如何在Web应用中集成DWR,以及如何利用它来构建更互动、更动态的用户界面。同时,你也将了解到DWR在实际项目中的应用和优势,为进一步的RIA开发打下坚实基础。
**DWR(Direct Web Remoting)修正Demo版** DWR是一种开源JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需刷新页面。DWR使得开发人员能够轻松地在浏览器中调用服务器端的Java方法,就像...
这个“dwr入门demo”是一个实例,可以帮助初学者理解并掌握DWR的基本用法。 DWR的核心功能在于它提供了一种方式,使得JavaScript可以直接调用服务器上的Java方法,就像调用本地函数一样,从而极大地增强了Web应用的...
在"**dwr-demo**"项目中,我们可以通过以下几个关键知识点来理解DWR的工作原理和应用: 1. **配置DWR**: 在Java项目中集成DWR通常需要在`web.xml`文件中配置DWR的servlet,例如`DWRServlet`。配置包括设置映射路径...
DWRDemo.rar_DEMO_dwr Demo是一个关于DWR的实际应用示例,它可以帮助我们理解DWR的工作原理和如何在项目中集成DWR。 **1. DWR的基本概念** DWR的核心是远程方法调用(Remote Method Invocation, RMI),但它是在Web...