<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
default-autowire="byName" default-lazy-init="true">
<description>Spring公共配置</description>
<!-- 启用 annotation 配置模式 -->
<context:annotation-config />
<!-- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 -->
<context:component-scan base-package="com.wpms.user.*" />
<!-- DWR 配置 BEGIN -->
<!-- 启动 DWR 注解配置模式 -->
<dwr:configuration />
<dwr:annotation-config />
<dwr:url-mapping />
<!-- 开启dubug状态 -->
<dwr:controller debug="true" />
<!-- DWR 配置 END-->
</beans>
--------------------------------
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">
<!-- spring config url start-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:config/dwr3/applicationContext.xml
</param-value>
</context-param>
<!-- spring config url end-->
<!-- 著名的 Character Encoding filter -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<!--Hibernate Open Session in View Filter-->
<!-- 假设在你的应用中Hibernate是通过spring 来管理它的session.如果在你的应用中没有使用OpenSessionInViewFilter
或者OpenSessionInViewInterceptor。session会在transaction结束后关闭,此时会抛出session is close 的异常-->
<!-- struts2 start-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- struts2 end -->
<!-- 过滤器映射 -->
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- dwr配置 -->
<servlet>
<servlet-name>dwr</servlet-name>
<servlet-class>
org.directwebremoting.spring.DwrSpringServlet
</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>
<!--Spring ApplicationContext 载入 -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- 扩展spring bean的作用域有request,session,global session等-->
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
<!-- Spring 刷新Introspector防止内存泄露 -->
<listener>
<listener-class>
org.springframework.web.util.IntrospectorCleanupListener
</listener-class>
</listener>
<!-- 开始页面 -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/pagenotfound.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
</web-app>
--------------------------------
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml" />
<package name="default" extends="struts-default">
</package>
</struts>
--------------------------------
HTML source:
<head>
<title>DWR Test</title>
<script type='text/javascript'
src='http://localhost:8080/wpms/dwr/interface/UserController.js'></script>
<script type='text/javascript'
src='http://localhost:8080/wpms/dwr/engine.js'></script>
<script type='text/javascript'
src='http://localhost:8080/wpms/dwr/util.js'></script>
</head>
<script type='text/javascript'>
function update() {
var name = dwr.util.getValue("demoName");
UserController.getUserName(name, function(data) {
dwr.util.setValue("demoReply", data);
});
}
</script>
<p>
Int:
<input type="text" id="demoName" />
<input value="Send" type="button" onclick="update()" />
<br />
Reply:
<span id="demoReply"></span>
</p>
--------------------------------
Javascript source:
--------------------------------
Java source:
package com.wpms.user.action.dwr;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;
import org.springframework.stereotype.Controller;
@Controller
@RemoteProxy
public class UserController {
@RemoteMethod
public String getUserName(int id) {
System.out.println("id=" + id);
return "Int Number: " + id;
}
分享到:
相关推荐
DWR3是DWR的第三个主要版本,它提供了改进的功能和性能,尤其在实时数据推送方面。在DWR3中,可以实现后台向Web浏览器实时推送消息,这对于创建交互性强、实时更新的应用程序非常有用,比如在线聊天室或股票交易应用...
本篇文章将详细介绍如何结合Dwr3和Spring3,利用全注解的方式进行集成与配置。 首先,我们需要理解Dwr3的基本概念。DWR3是DWR的第三个主要版本,它提供了一种简单的方法来实现在Web应用程序中调用服务器端的Java...
压缩包内的"DWR中文文档2.pdf"很可能是DWR3的中文用户指南或开发者手册,对于学习和使用DWR3框架具有很高的参考价值,详细介绍了如何配置、使用DWR以及解决常见问题。"dwr.rar"可能包含了DWR的源码或者库文件,便于...
《dwr3api+DWR文档.pdf》提供了关于DWR 3.x版本的详细信息,包括API参考和初级入门指南。这份文档可能涵盖了以下关键知识点: 1. **安装与配置**:如何在你的Java应用服务器上集成DWR,配置DWR的XML配置文件(dwr....
在这个"DWR3消息推送(聊天Demo)"项目中,开发者提供了一个使用DWR3实现的简单聊天应用,让我们来详细了解一下这个示例中的关键知识点。 首先,我们要理解DWR3的核心特性。DWR3是DWR(Direct Web Remoting)的第三个...
DWR3.x是DWR的一个版本,提供了许多增强的功能和改进,使得开发人员能够更方便地构建动态、交互式的Web应用。 在这个"Dwr3.x demo 实例 例子"中,我们可以学习到以下几个关键知识点: 1. **反转Ajax**:DWR的核心...
在DWR3中,"推送消息"功能是其特性之一,它使得服务器能够主动向客户端推送数据,而不仅仅是响应客户端的请求。这种技术通常被称为Comet或长轮询,可以用于实现实时通信,如聊天应用、股票报价、在线游戏等场景。 ...
在这个“dwr3所需jar包”中,我们主要关注的是DWR 3.0版本的相关库文件。 在JavaWeb开发中,DWR作为一个强大的工具,使得前端和后端能够更有效地交互。它提供了以下核心特性: 1. **远程方法调用(Remote Method ...
DWR3是DWR的一个版本,提供了更加强大和灵活的特性,包括异步通信、AJAX支持以及实时消息推送等。 在"消息推送"这一场景下,DWR3扮演了关键角色。它能够实现在一个页面上发送的消息,被其他页面实时接收和显示。...
本篇文章将深入探讨“spring3mvc+hibernate4+spring-security3+dwr3整合架包”中的核心技术和概念,帮助开发者理解如何利用这些组件来创建强大的Java Web应用。 首先,Spring MVC(Model-View-Controller)是Spring...
3. 配置dwr.xml,指定暴露给JavaScript的Java类和方法。 4. 在web.xml中配置DWRControlServlet。 5. 引入必要的JavaScript文件到HTML页面。 6. 使用JavaScript调用Java方法,并定义回调函数处理返回数据。 通过这个...
Struts2、Hibernate5和DWR3是三个在Java Web开发中广泛应用的开源框架,它们分别专注于MVC(模型-视图-控制器)架构、对象关系映射(ORM)以及远程脚本(Remote Scripting)。这三者的整合为开发者提供了强大的工具...
在DWR 3版本中,它提供了丰富的API和工具,使得开发者能够更加方便地构建富客户端Web应用。本篇文章将详细讲解如何利用DWR 3实现推送功能。 1. **DWR 3 的基本概念** DWR 3 提供了一种安全、高效的机制,使得...
在“DWR3实现服务器端向客户端精确推送消息”这一主题中,我们将深入探讨如何利用DWR3进行服务器到客户端的消息推送,以及这种技术的优势和应用。 首先,理解DWR3的工作原理是至关重要的。DWR3通过建立一个安全的...
在这个“dwr3ReverseAjax示例”中,我们将深入探讨如何利用DWR 3.x版本来构建一个基于Ajax的简单Web聊天应用。 首先,DWR的核心功能是通过HTTP协议实现在客户端JavaScript和服务器端Java之间的远程方法调用(Remote...
【标题】"dwr3与ssh 开发的webim"涉及的主要知识点是使用Direct Web Remoting (DWR) 框架与Struts2(S)和Hibernate(H)集成来构建一个实时的Web聊天应用。DWR允许JavaScript在客户端与Java在服务器端之间进行直接...
在这个场景中,我们关注的是DWR的三个不同版本的JAR文件:dwr2.0.5.jar、dwr2.0.6.jar以及dwr3.rc1.jar。 1. **DWR 2.0.x 版本**: DWR 2.0.x 是DWR的一个较早版本系列,其中2.0.5和2.0.6是两个连续的小版本更新。...
struts2.1 spring2.5 ibatis2.3 dwr3 annotation配置 集成 此中例子不完整. 如要下载:http://download.csdn.net/source/2138885
本篇将详细介绍如何利用Spring3和DWR3创建聊天功能,以及DWR的Server Push技术在其中的作用。 首先,Spring3是一个全面的Java企业级应用开发框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等...
DWR3是其第三个主要版本,提供了许多增强的功能和改进,旨在简化AJAX开发,提高用户体验。 DWR3中文示例是一个翻译自官方WAR包的资源,旨在帮助中国开发者更好地理解和使用DWR框架。这个示例集包含了详细的中文文档...