`

小试Annotation来配置DWR

    博客分类:
  • Ajax
阅读更多

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,基本完成,这样是不是方便多了。~

々上善若水々 2008-05-30 11:02 发表评论
分享到:
评论

相关推荐

    spring使用annotation整合dwr笔记

    - **配置DWR Annotation Config**:利用`&lt;dwr:annotation-config/&gt;`标签启用注解支持,使得开发者能够使用`@RemoteProxy`和`@RemoteMethod`等注解来标注需要暴露给客户端的方法。 ```xml &lt;!-- 配置DWR注解支持 --&gt;...

    将dwr集成到spring mvc(dwr的配置是基于xml)

    在这里,我们设置了DWR的调试模式,并配置了`DwrController`来处理请求。 3. **创建Java类**:在服务器端,你需要创建一个Java类,这个类将被DWR暴露给JavaScript调用。例如: ```java public class MyService {...

    配置整合DWR3.0和Spring2.5使用annotation注解

    在本文中,我们将探讨如何将Direct Web Remoting (DWR) 3.0与Spring 2.5框架整合,并利用注解(Annotation)进行配置。DWR是一个允许JavaScript与Java服务器端进行交互的库,而Spring 2.5引入了对注解的强大支持,...

    spring2.5 ibatis2.3 struts2.1 dwr3 annotation集成配置

    本主题聚焦于一个经典的Java企业级应用架构:Spring 2.5、iBatis 2.3、Struts 2.1 和 DWR 3 的整合,以及使用注解(Annotation)进行配置。这四个组件的结合可以构建出一个功能强大、可扩展性好、易于维护的Web应用...

    struts2.1 spring2.5 ibatis2.3 dwr3 annotation配置 集成

    struts2.1 spring2.5 ibatis2.3 dwr3 annotation配置 集成 此中例子不完整. 如要下载:http://download.csdn.net/source/2138885

    spring的annotation-driven配置事务管理器详解 (多数据源配置

    在 Spring 框架中,事务管理器是通过 `&lt;tx:annotation-driven&gt;` 元素来配置的。在多数据源配置中,我们可以定义多个事务管理器,每个事务管理器对应一个数据源。例如,我们可以定义两个事务管理器 `...

    Dwr3+Spring3 全注解 annotation 方式

    当Dwr3与Spring3结合时,我们可以利用Spring的注解来管理DWR的配置。在Spring3中,可以通过`@Controller`注解来标识一个类作为处理HTTP请求的控制器,而DWR的`@RemoteProxy`注解可以用于标记那些需要在客户端直接...

    Spring的Annotation配置相关讲义

    在Spring框架中,Annotation配置是一种简洁且强大的方式来管理Bean的定义和依赖注入,它消除了传统的XML配置文件,使得代码更加简洁、易读。在Spring 3.0及以上版本中,Annotation配置得到了广泛的应用。 首先,...

    annotation插件配置方法与实例

    Sun公司的 Annotation Processing Tool(APT)是早期处理注解的一种工具,而"annotation插件配置方法与实例"则涉及到如何利用插件来更高效地管理和利用注解。 注解本身并不直接执行任何操作,它们只是提供一种方式...

    hibernate 以Annotation方式配置在oracle和mysql

    hibernate 以Annotation方式配置在oracle和mysql hibernate,这里面提供了两个小例子,一个是配置跟oracle数据库相关联时的配置方法,一个是配置跟mysql数据库相关联时的配置方法。

    struts2 使用Annotation 配置的小例子

    在这个小例子中,我们将深入探讨如何利用Struts2的Annotation配置来构建一个简单的应用。 首先,让我们了解什么是Annotation。在Java中,Annotation是一种元数据,它提供了一种安全的方式向编译器、JVM或者第三方...

    Struts2之Annotation注解配置使用案例struts013

    在Struts2中,Annotation注解的引入为开发者提供了更加灵活和便捷的配置方式,使得无需在XML配置文件中进行繁琐的设置,可以直接在类或方法上通过注解来进行配置。本文将深入探讨Struts2中的Annotation配置,以及...

    DWR 实例 + DWR 深入 (源代码分析).doc

    自JDK 5.0引入Annotation后,DWR提供了使用注解的方式来声明可远程调用的Java类。这与EJB 3.0中使用注解声明Session Bean类似,但它们的实现机制不同。通过注解,DWR能自动识别哪些类和方法可供JavaScript调用。 ...

    DWR的使用方法

    import uk.ltd.getahead.dwr.annotation.RemoteInterface; @RemoteInterface public class MyRemoteService { public String sayHello(String name) { return "Hello, " + name; } } ``` **配置DWR** 接下来,...

    基于Annotation的Servlet配置

    这篇博文"基于Annotation的Servlet配置"探讨了如何使用注解来配置Servlet,让我们深入理解这一现代Web应用开发中的重要概念。 首先,我们来看`@WebServlet`注解。这个注解是Java Servlet API的一部分,可以直接在...

    扩展Spring—使用Annotation将配置资源注入到Bean中

    在Spring框架中,注解(Annotation)的使用极大地简化了传统XML配置的复杂性,使得开发者可以更加专注于业务逻辑的实现。本篇文章将深入探讨如何通过注解将配置资源注入到Bean中,以此来理解Spring的注解驱动开发。 ...

    spring整合dwr

    同时,使用`&lt;dwr:annotation-scan&gt;`来扫描带有DWR注解的类,以便自动配置: ```xml &lt;dwr:annotation-scan scanRemoteProxy="true" base-package="com.masadora.service" /&gt; ``` 最后,配置DWR控制器(`&lt;dwr:...

    sshFrame(struts2.3.4+spring3.1+heibernate4.0+annotation零配置

    在这个"sshFrame(struts2.3.4+spring3.1+heibernate4.0+annotation零配置"项目中,我们看到作者使用的是Struts2的3.4版本,Spring的3.1版本以及Hibernate的4.0版本,这些都是成熟且广泛使用的开源库。 **Struts2** ...

    DWR3.0例子(注解)

    总结来说,DWR 3.0 提供了一种高效、安全的方式来进行 AJAX 开发,通过注解简化了配置,同时强化了安全性。"MedbriDwrApp" 示例将帮助你了解这些特性的具体实现,是学习和实践 DWR 技术的宝贵资源。

Global site tag (gtag.js) - Google Analytics