web.xml 里配置 dwr 初始化配制文件
<?xml version="1.0" encoding="UTF-8"?>
<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">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>dwr</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</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
创建一个名叫dwr.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>
<convert match="com.dwr.Student" converter="bean"></convert>
<create javascript="stu" creator="new">
<param name="class" value="com.dwr.Test"></param>
<!--
include 看名字就知道是干嘛的.就是包含进来的方法,没有被包含的就不能被调用.可以配多个,
在这里我没有把老师的方法包含进来.学生就不能调用老师的方法啦!
当然默认是包含了所有公用方法,只能访问公有的.其它都不行.
-->
<include method="getBeanList"/>
<include method="getList"/>
<include method="getStudent"/>
</create>
<!--
郁闷.我调学生的方法.他怎么知道用学生的bean进行转换?
-->
<convert match="com.dwr.Teacher" converter="bean"></convert>
<create javascript="tea" creator="new">
<param name="class" value="com.dwr.Test"></param>
<!--
这里老师没有写include包含什么方法?表示他能够调用所有的公用方法.
老师也可以调用学生的方法
-->
</create>
</allow>
</dwr>
java 后台代码
package com.dwr;
import java.util.ArrayList;
import java.util.List;
public class Test {
public List getList() {
List list = new ArrayList();
List list1 = new ArrayList();
List list2 = new ArrayList();
list1.add("张三");
list1.add("李四");
list1.add("王五");
list2.add("豆");
list2.add("qing");
list2.add("computer");
list.add(list1);
list.add(list2);
return list;
}
public List getBeanList() {
List list = new ArrayList();
Student stu = new Student();
stu.setName("dd");
stu.setPassword("1234");
stu.setSex("男");
Student stu1 = new Student();
stu1.setName("mm");
stu1.setPassword("5678");
stu1.setSex("女");
list.add(stu);
list.add(stu1);
return list;
}
public Student getStudent() {
Student stu = new Student();
stu.setName("dd");
stu.setPassword("1234");
stu.setSex("男");
return stu;
}
public Teacher getTeacher() {
Teacher tea = new Teacher();
tea.setName("米");
tea.setPassword("饭");
tea.setSex("男");
return tea;
}
}
实体bean的代码
package com.dwr;
//学生的bean
public class Student {
private String name;
private String password;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
//老师的bean
package com.dwr;
public class Teacher {
private String name;
private String password;
private String sex;
private String type;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
界面如果调用的
只是小测试,没写得很漂亮
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!-- 引用 -->
<script type='text/javascript' src='/dwr_test1/dwr/interface/stu.js'></script>
<script type='text/javascript' src='/dwr_test1/dwr/interface/tea.js'></script>
<script type='text/javascript' src='/dwr_test1/dwr/engine.js'></script>
<script type='text/javascript' src='/dwr_test1/dwr/util.js'></script>
<script type="text/javascript">
<!--
//拿到集合里的值
function getLists() {
stu.getList(getListBack);
}
function getListBack(data) {
content.innerHTML=data;
}
//获得集合 里面的对象值
function getBeanLists() {
stu.getBeanList(getBeanListBack);
}
function getBeanListBack(data) {
/*
他返回来的是一个data数组 里面放的是对象
拿到第一个对象.再去拿他的属性.
*/
for(var a=0;a<data.length;a++) {
//alert(data[a].name);
//alert(data[a].password);
content.innerHTML+=data[a].name+" "+data[a].password+" "+data[a].sex+"<br>";
}
}
//拿出javabean 里面的值
function getBeans() {
stu.getStudent(getBeanBack);
}
function getBeanBack(data) {
//alert(data.name);
//alert(data.password);
content.innerHTML=data.name+" "+data.password+" "+data.sex
}
//拿出Teacher里面的值
function getTeacherBeans() {
tea.getTeacher(getTeacherBack);
}
function getTeacherBack(data) {
content.innerHTML=data.name+" "+data.password+" "+data.sex
}
//-->
</script>
<html>
<body>
<div id="content"></div>
<input type="button" value="获得集体里的值" onclick="getLists()">
<input type="button" value="获得集合里对象的值" onclick="getBeanLists()">
<input type="button" value="获得对象的值" onclick="getBeans()">
<input type="button" value="获得老师对象的值" onclick="getTeacherBeans()">
</body>
</html>
分享到:
相关推荐
在"Dwr demo - Dwr简单使用"这个项目中,你可以通过以下步骤了解和学习DWR的基本用法: 1. **环境准备**:首先确保你有Eclipse IDE,并且已经安装了Java Development Kit (JDK)。由于DWR是一个Java库,所以你需要一...
**DWR(Direct Web Remoting)使用方法详解** DWR,全称为Direct Web Remoting,是一种开源Java技术,用于在Web应用程序中实现浏览器与服务器之间的实时双向通信。它允许JavaScript直接调用Java方法,就像它们在...
DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它允许在浏览器端直接调用服务器端的方法,如同调用本地对象一样简单。本篇文章将从安装DWR、配置相关文件到创建配置文件等方面,详细介绍如何使用DWR进行Ajax...
对于初学者来说,这是一个很好的起点,它涵盖了DWR基本的使用方式和配置,同时也提供了一个可运行的示例,帮助理解Ajax通信的工作原理。通过深入学习和实践,你可以利用DWR构建更复杂的交互式Web应用。
在这个"简单使用DWR完整例子"中,我们将深入理解DWR的基本概念、配置、以及如何在SSH(Spring、Struts、Hibernate)技术框架下集成和应用DWR。 首先,了解DWR的核心概念至关重要。DWR通过JavaScript API使得Java...
- DWR使得Ajax应用开发更加简单,它自动处理异步通信和JSON/XML序列化。 - 通过DWR,可以实现实时更新用户界面,提升用户体验。 以上就是DWR包的使用入门,从安装配置到实际调用,涵盖了一个完整的DWR应用开发...
总的来说,DWR提供了一种简单的方式来实现AJAX通信,它通过自动化的JavaScript接口生成和内置的错误处理机制,降低了开发和维护的复杂性。通过上述步骤,你可以配置和使用DWR在JSP页面中调用服务层的方法,实现动态...
DWR(Direct Web Remoting)是一种JavaScript库,它允许Web应用程序在客户端与服务器之间进行实时的、异步的通信,而无需使用XMLHttpRequest(Ajax)或其他插件。DWR简化了JavaScript与Java后端之间的交互,使开发者...
这个压缩包文件“dwr简单示例(完整web工程)”显然是一个包含了完整配置和代码的DWR应用实例,旨在帮助开发者了解和学习如何在实际项目中使用DWR。 1. **DWR的基本概念**: - **Web Remoting**:DWR的核心是Web...
9. **实战项目**:“[浪曦原创]零散视频三 使用DWR开发AJAX For J2EE(JustCode).wrf”可能是一个实际操作视频,详细演示如何使用DWR构建一个简单的AJAX应用,通过观看可以加深对上述理论知识的理解。 10. **资源...
简单的dwr-Ajax的框架使用教程,很不错,对新手是个不错的选择
DWR(Direct Web Remoting)是一种在Web应用程序中实现异步JavaScript和XML(Ajax)的方法,它简化了客户端和服务器之间的通信,使得动态更新网页变得更加简单。DWR允许JavaScript直接调用Java方法,就像它们在同一...
在提供的“AJAX框架DWR简单应用.pdf”文件中,你可能会找到关于如何设置DWR环境、编写Java接口、配置DWR配置文件、在前端JavaScript中使用DWR,以及示例代码和实际运行效果的详细教程。这个文件是学习和理解DWR工作...
要使用DWR返回JSON数据,首先需要在服务器端设置DWR配置。创建一个`dwr.xml`配置文件,在其中定义允许前端访问的Java类和方法。例如: ```xml ``` 这里,`com.example.MyService`是你定义的Java服务类...
Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器和服务器之间进行安全、简单、异步的通信。这个技术主要用于创建动态、交互性强的Web应用程序,使得客户端可以调用服务器端的方法,仿佛...
### dwr框架的使用简介 #### 一、引言 随着AJAX技术的广泛应用,Web项目的开发变得越来越复杂。AJAX技术(Asynchronous JavaScript and XML)作为一种无须刷新整个页面即可进行局部更新的技术,极大地提升了用户...
在"**dwr反推简单例子**"中,我们将会探讨如何使用DWR进行数据的反向推送,即由服务器主动向客户端推送数据,而不仅仅是响应客户端的请求。 首先,DWR的核心概念包括三个主要部分:`Engine`、`Configuration`和`...
本资源为DWR的简单使用,其中包括,返回简单类型,返回javaBean类型,参数为javaBean类型,返回List 、Map,javaBean>类型,此代码为完整代码,import可直接使用!
以下是对DWR简单设计的总结: 1. **DWR的基本概念**: DWR的核心功能是在客户端JavaScript和服务器端Java之间建立直接的通信通道,通过AJAX(Asynchronous JavaScript and XML)技术实现异步数据交换。这允许用户...