DWR2.0以上版本支持通过配置Annotation的方式来配置DWR,
可以完全抛弃dwr.xml.
1.和用dwr.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">
<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>
<init-param>
<param-name>classes</param-name>
<param-value>
com.TestAction,
com.User
</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>
注意对于内部类的语法标识,要用$符号 。例如
java.util.Map$Entry
而不是 java.util.Map.Entry
2.来看一下远程访问类怎么配置:
package com;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;
/**//*
类注解,其中name是非必须的。不加的时候就和类名一样。
*/
@RemoteProxy(name = "test")
public class TestAction
{
/** *//**
* 远程调用的方法都须加上此注解,否则无法调用
* @param a
* @param b
* @return
*/
@RemoteMethod
public int add(int a, int b)
{
return a + b;
}
@RemoteMethod
public int minus(int a, int b)
{
return a - b;
}
@RemoteMethod
public int multiply(int a, int b)
{
return a * b;
}
public int devide(int a, int b)
{
if (b != 0)
return a / b;
return 0;
}
// 测试Bean
@RemoteMethod
public String testName()
{
User user = new User();
user.setUsername("zdw");
return user.getUsername();
}
}
3.再来看看Bean的转换:
package com;
import org.directwebremoting.annotations.DataTransferObject;
import org.directwebremoting.annotations.RemoteProperty;
@DataTransferObject
public class User
{
private Integer id;
private String username;
@RemoteProperty
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
@RemoteProperty
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
}
部署之后,打开调试页,我们将看到:
add(1 , 2 ); 3
multiply(4 ,5 ); 20
minus(1 , 10 ); -9
devide( 1, 1);
(Warning: devide() is excluded: Method access is denied by rules in dwr.xml. See below)
testName( ); "zdw"
我们发现没标注释的devide()方法没法调用。
如果你想通过Spring注入来配置DWR只需加入:
@RemoteProxy(name = "test", creator = SpringCreator.class, creatorParams =
{ @Param(name = "beanName", value = "test") })
对应:
<create javascript="test" creator="spring">
<!-- 其中name是固定值,value是在xml注入的bean -->
<param name="beanName" value="test" />
</create>
creator :默认就是NewCreate了。
ok,基本完成,这样是不是方便多了。~
分享到:
相关推荐
- **配置DWR Annotation Config**:利用`<dwr:annotation-config/>`标签启用注解支持,使得开发者能够使用`@RemoteProxy`和`@RemoteMethod`等注解来标注需要暴露给客户端的方法。 ```xml <!-- 配置DWR注解支持 -->...
在这里,我们设置了DWR的调试模式,并配置了`DwrController`来处理请求。 3. **创建Java类**:在服务器端,你需要创建一个Java类,这个类将被DWR暴露给JavaScript调用。例如: ```java public class MyService {...
在本文中,我们将探讨如何将Direct Web Remoting (DWR) 3.0与Spring 2.5框架整合,并利用注解(Annotation)进行配置。DWR是一个允许JavaScript与Java服务器端进行交互的库,而Spring 2.5引入了对注解的强大支持,...
本主题聚焦于一个经典的Java企业级应用架构:Spring 2.5、iBatis 2.3、Struts 2.1 和 DWR 3 的整合,以及使用注解(Annotation)进行配置。这四个组件的结合可以构建出一个功能强大、可扩展性好、易于维护的Web应用...
struts2.1 spring2.5 ibatis2.3 dwr3 annotation配置 集成 此中例子不完整. 如要下载:http://download.csdn.net/source/2138885
在 Spring 框架中,事务管理器是通过 `<tx:annotation-driven>` 元素来配置的。在多数据源配置中,我们可以定义多个事务管理器,每个事务管理器对应一个数据源。例如,我们可以定义两个事务管理器 `...
当Dwr3与Spring3结合时,我们可以利用Spring的注解来管理DWR的配置。在Spring3中,可以通过`@Controller`注解来标识一个类作为处理HTTP请求的控制器,而DWR的`@RemoteProxy`注解可以用于标记那些需要在客户端直接...
在Spring框架中,Annotation配置是一种简洁且强大的方式来管理Bean的定义和依赖注入,它消除了传统的XML配置文件,使得代码更加简洁、易读。在Spring 3.0及以上版本中,Annotation配置得到了广泛的应用。 首先,...
Sun公司的 Annotation Processing Tool(APT)是早期处理注解的一种工具,而"annotation插件配置方法与实例"则涉及到如何利用插件来更高效地管理和利用注解。 注解本身并不直接执行任何操作,它们只是提供一种方式...
hibernate 以Annotation方式配置在oracle和mysql hibernate,这里面提供了两个小例子,一个是配置跟oracle数据库相关联时的配置方法,一个是配置跟mysql数据库相关联时的配置方法。
在这个小例子中,我们将深入探讨如何利用Struts2的Annotation配置来构建一个简单的应用。 首先,让我们了解什么是Annotation。在Java中,Annotation是一种元数据,它提供了一种安全的方式向编译器、JVM或者第三方...
在Struts2中,Annotation注解的引入为开发者提供了更加灵活和便捷的配置方式,使得无需在XML配置文件中进行繁琐的设置,可以直接在类或方法上通过注解来进行配置。本文将深入探讨Struts2中的Annotation配置,以及...
自JDK 5.0引入Annotation后,DWR提供了使用注解的方式来声明可远程调用的Java类。这与EJB 3.0中使用注解声明Session Bean类似,但它们的实现机制不同。通过注解,DWR能自动识别哪些类和方法可供JavaScript调用。 ...
import uk.ltd.getahead.dwr.annotation.RemoteInterface; @RemoteInterface public class MyRemoteService { public String sayHello(String name) { return "Hello, " + name; } } ``` **配置DWR** 接下来,...
这篇博文"基于Annotation的Servlet配置"探讨了如何使用注解来配置Servlet,让我们深入理解这一现代Web应用开发中的重要概念。 首先,我们来看`@WebServlet`注解。这个注解是Java Servlet API的一部分,可以直接在...
在Spring框架中,注解(Annotation)的使用极大地简化了传统XML配置的复杂性,使得开发者可以更加专注于业务逻辑的实现。本篇文章将深入探讨如何通过注解将配置资源注入到Bean中,以此来理解Spring的注解驱动开发。 ...
同时,使用`<dwr:annotation-scan>`来扫描带有DWR注解的类,以便自动配置: ```xml <dwr:annotation-scan scanRemoteProxy="true" base-package="com.masadora.service" /> ``` 最后,配置DWR控制器(`<dwr:...
在这个"sshFrame(struts2.3.4+spring3.1+heibernate4.0+annotation零配置"项目中,我们看到作者使用的是Struts2的3.4版本,Spring的3.1版本以及Hibernate的4.0版本,这些都是成熟且广泛使用的开源库。 **Struts2** ...
总结来说,DWR 3.0 提供了一种高效、安全的方式来进行 AJAX 开发,通过注解简化了配置,同时强化了安全性。"MedbriDwrApp" 示例将帮助你了解这些特性的具体实现,是学习和实践 DWR 技术的宝贵资源。