今天学习了一下dwr,做一个简单的总结:
将写一个的简单的实例:
首先在网上下载一个dwr.jar,commons-logging.jar这个两个jar包,放到工程的lib目录中:
然后开始写代码了:
这个是我的服务层的代码:
public class HelloWorld {
public String sayHello(String name) {
return "Hi, " + name;
}
在web.xml 文件中配置:
<?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">
<!-- DWR配置 -->
<servlet>
<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>
<!--解决 dwr 报session error 问题 -->
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<!--主要是为了指定dwr.xml文件所在的位置 -->
<param-name>config</param-name>
<param-value>
/WEB-INF/dwr/dwr.xml
</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>
对这个xml文件做一个简单的解释:
添加debug参数,DWR默认这个参数值为false,如果选择true,我们可以通过http://${ip}:${port}/${app}/dwr看到你部署的每个DWR Class.并且可以测试java代码的每个方法是否运行正常。为了安全考虑,在正式环境下你一定把这个参数设为false。
在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>
<create creator="new" javascript="sayHelloTo">
<param name="class" value="com.me.dwr.HelloWorld" />
<include method="sayHello" />
</create>
</allow>
</dwr>
对上面这个xml文件做一个简单的解释:
<allow> 标签中包括可以暴露给 javascript 访问的东西。
<create> 标签中指定 javascript 中可以访问的 java 类,并定义 DWR远程调用类的实例。 creator="new" 属性指定 java 类实例的生成方式, new 意味着 DWR 应当调用类的默认构造函数来获得实例,其他的还有 spring 方式,通过与 IOC 容器 Spring 进行集成来获得实例等等。 javascript=" sayHelloTo" 属性指定 javascript代码访问对象时使用的名称。
<param> 标签指定要公开给 javascript 的 java 类名。
<include> 标签指定要公开给 javascript 的方法。不指定的话就公开所有方法。
<exclude> 标签指定要防止被访问的方法
好了 到这里已经成功一半了,接下了开始写jsp啦。
jsp所对应的代码如下:
<%@ page language="java" pageEncoding="gbk"%>
<html>
<head>
<title>Dwr 调用测试</title>
<!--这里sayHelloTo.js 是通过dwr.xml中配置的create标签中javascript配置的值是一致的 -->
<script src='dwr/interface/sayHelloTo.js'></script>
<script src='dwr/engine.js'></script>
<script src='dwr/util.js'></script>
<script type="text/javascript">
function btn_onClick(){
var username = document.myform.name.value;
//调用dwr.xml中配置的类方法,回调函数callback带有返回的结果集
sayHelloTo.sayHello(username,callback);
}
function callback(data){
document.getElementById("info").innerText=data;
}
</script>
</head>
<body>
<form name="myform" method="post">
<input type="text" id="name" name="name" />
<input type="button" value="sayHello" onclick="btn_onClick()" />
<div id="info"></div>
</form>
</body>
</html>
发布,启动服务就可以开始访问了:
分享到:
相关推荐
在这个“dwr简单实例入门”中,我们将深入探讨DWR的基本概念、配置和一个简单的应用示例。 首先,了解DWR的核心概念: 1. **Remoting**:远程方法调用,DWR允许JavaScript代码通过HTTP请求调用服务器上的Java方法...
**JAVA-DWR简单例子** DWR (Direct Web Remoting) 是一个开源的Java库,它允许在Web应用程序中实现JavaScript和服务器端Java代码之间的直接、异步通信。DWR简化了Ajax(Asynchronous JavaScript and XML)开发,...
在这个名为“dwr简单例子”的项目中,我们很可能会看到如何在实际应用中设置和使用DWR的基本步骤。下面将详细介绍DWR的关键概念和这个示例可能包含的组件。 1. **DWR框架概述** DWR的核心功能是提供一种安全、高效...
这个"java dwr简单例子helloworld"是一个基础教程,旨在通过一个简单的HelloWorld示例,让你了解DWR的工作原理和基本用法。 首先,DWR的核心思想是提供一种安全且高效的方式,让JavaScript能够与服务器端的Java对象...
**DWR(Direct Web Remoting)简介** DWR(Direct Web Remoting)是一个开源JavaScript库,它允许在...通过"DWR简单例子"的学习,你可以了解如何在实际项目中利用DWR实现更高效的Web应用交互,提高用户的使用体验。
**DWR(Direct Web Remoting)简单实例及增强页面效果** DWR,全称为Direct Web Remoting,是一种在Web应用程序中实现JavaScript与服务器端Java代码交互的开源框架。它允许前端开发者通过JavaScript直接调用后端...
通过这个简单的例子和中文文档,你可以逐步学习如何设置DWR环境,创建可调用的Java类,编写JavaScript代码以调用这些类,并在网页中展示结果。这将帮助你掌握DWR的基本用法,从而在J2EE项目中实现更流畅的前端交互...
很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料
这个"Dwr Eclipse简单例子"是一个快速上手的教程,旨在帮助开发者理解如何在Eclipse中配置和使用DWR。通过这个例子,你将学习到以下关键知识点: 1. **DWR框架基础**:DWR的核心是提供一种安全、高效的机制,使得...
下面我们将深入探讨DWR的工作原理、配置过程以及如何创建一个简单的测试例子。 1. DWR的工作原理: DWR的核心在于它提供了一种安全的、跨域的通信方式。它通过JavaScript接口(JSR-269或JSR-173注解)动态生成...
在"**dwr反推简单例子**"中,我们将会探讨如何使用DWR进行数据的反向推送,即由服务器主动向客户端推送数据,而不仅仅是响应客户端的请求。 首先,DWR的核心概念包括三个主要部分:`Engine`、`Configuration`和`...
在这个"Dwr最简单例子(2.0)"中,我们将探讨如何使用DWR 2.0设置一个基础的应用程序,以便理解其核心概念和工作原理。首先,我们需要了解DWR的基本组件: 1. **配置文件**:DWR的配置文件(通常为`dwr.xml`)定义了...
在这个"**dwr简单的例子**"中,我们将深入探讨如何使用DWR框架来创建一个基础的示例应用。 首先,理解DWR的基本工作原理至关重要。DWR通过在服务器上运行一个Servlet,这个Servlet负责处理JavaScript与Java之间的...
在这个"简单使用DWR完整例子"中,我们将深入理解DWR的基本概念、配置、以及如何在SSH(Spring、Struts、Hibernate)技术框架下集成和应用DWR。 首先,了解DWR的核心概念至关重要。DWR通过JavaScript API使得Java...
在“dwr2.0最简单例子实用亲测试”中,我们可以预期这是一个关于如何使用DWR 2.0版本的入门教程,包含了实际可运行的示例代码。下面将详细介绍DWR的基本概念和在这个实例中可能涉及的关键知识点: 1. **DWR的核心...