这里使用 DWR3.rc1, Spring2.5 and Spring MVC
在Spring2.5中,使用了许多annotation, 新版本的DWR也支持annotation了, 下面看一下配置过程
1. 先写一个Controller
Java代码
package com.myapp.web.controller;
import javax.servlet.http.HttpServletRequest;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RemoteProxy
public class UserController {
@RemoteMethod
public String getUserName(int id) {
System.out.println("user id is " + id);
return "UserName: " + id;
}
@RequestMapping("/user/add.do")
public String addUser(HttpServletRequest request) {
System.out.println("this is action method");
return "/user/list.jsp";
}
}
@RemoteProxy注解告诉DWR,这个Class是我们想暴露出来的。@RemoteMethod注解告诉DWR去暴露这个指定的方法,只有加了RemoteMethod注解的方法会被暴露,其它的不会。
这里也可以使用@RemoteProxy(name="userRemote")的方式指定DWR接口的名字
2. 接下来看web.xml的配置
Xml代码
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springconfig/*.xml</param-value>
</context-param>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
注意,这里没有使用org.directwebremoting.spring.DwrSpringServlet或org.directwebremoting.servlet.DwrServlet,并且请注意这里使用spring的dispatcher servlet来映射/dwr/*请求。
3. 最后看针对DispatcherServlet的配置文件action-servlet.xml
Xml代码
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd"
default-autowire="byName">
<context:annotation-config />
<!-- 注意这里新增加的dwr tag, 为使其生效,文件头中要声明namespace -->
<dwr:configuration />
<dwr:annotation-config />
<dwr:url-mapping />
<!-- 部署项目时, 请把debug设为false -->
<dwr:controller id="dwrController" debug="true" />
<!-- 多个包名用逗号隔开, 但不能有空格 -->
<context:component-scan base-package="com.myapp.web.controller" />
<!-- order值越小, 优先级越高 -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="order" value="1" />
</bean>
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
<property name="order" value="2" />
</bean>
</beans>
简单解释一下这些配置
•<dwr:annotation-config /> 要求DWR在Spring容器中检查拥有@RemoteProxy 和 @RemoteMethod注解的类。注意它不会去检查Spring容器之外的类。
•<dwr:url-mapping /> 要求DWR将util.js和engine.js映射到dwrController
•<dwr:controller id="dwrController" debug="true" /> 定义dwrController
•<dwr:configuration /> 此标签在这个例子中不是必须的,如果你想配置Spring容器之外的类,就需要它了。
最后一件事,DWR的测试页面 http://localhost:8080/myapp/dwr 在这里不好用。
请使用 http://localhost:8080/myapp/dwr/test/YOUR-BEAN-NAME 的方式来测试你的DWR接口,
例如这里使用 http://localhost:8080/myapp/dwr/test/UserController
OK 运行测试一下吧
原文 http://www.codercorp.com/blog/spring/configuring-dwr-30-with-spring-using-annotations.html
分享到:
相关推荐
实现Comet消息推送功能,根据登陆人定向推送,解决刷新页面原有ScriptSession不能及时销毁的问题,DEMO比较简陋,请先进入login.jsp页面登陆。根据登陆名称判断推送目标,可登陆多个用户进行测试。
comet.jsp就是聊天室接收消息的界面,action.jsp就是发送消息的界面,为了更好的说明问题,将接收界面和发送界面放在两个窗口中, 测试时同时可以打开多个接收界面和发送界面, 执行发送界面的发送按钮会发现在所有...
DWR3.0_Spring3.1_Hibernate4.1_JPA全注解实例。采用JTA事务管理,在glassfish3.1.2和postgresql9测试通过。参考网上的资料整理。.
DWR3.0 Spring3.2 Hibernate4.2 JPA全注解实例。采用JTA事务管理,配置ehcache为二级缓存,在glassfish3.2.2和postgresql9测试通过。参考网上的资料整理。.
自己花了好长时间才整理出来的springMVC整合DWR3.0,以实例的模式讲解,现在拿出来分享哦!共同学习进步。
包涵了DWR3.0的JAR包,DWR3.0的说明文档,通俗易懂。
spring使用annotation整合dwr笔记 spring使用annotation整合dwr笔记 spring使用annotation整合dwr笔记
dwr comet 交互方式,使用dwr3.0+spring2.5
dwr dwr包 dwr3.0文档 dwr3.0.jar
这个项目中,详细介绍了dwr3.0+SSH2的配置,包含全部jar包及sql文件
dwr3.0.jar
dwr3.0文档和jar包。文档是英文原版。
Dwr3+Spring3 全注解 annotation 方式实现
dwr2.0 spring 3.0 整合示例
struts2.1 spring2.5 ibatis2.3 dwr3 annotation配置 集成 此中例子不完整. 如要下载:http://download.csdn.net/source/2138885
DWR3.0.jar、DWR的实例war和DWR2.0中文说明文档
dwr3.0的搭建与基本的介绍,希望可以给初学者带来帮助
DWR3.0官方中文入门教程,和dwr3.0安装文件。
dwr和spring的整合做下整理,以及对网页版的聊天功能做了一个简单的Demo,用了注解的方式,使用dwr框架来把Java代码,通过Javascript方式调用。功能虽不全,但集成是从网络上获取的,加以修改。希望对网友有用。