ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Guice与DWR集成

Guice与DWR集成

原创 Linux操作系统 作者:梧桐雨—168 时间:2008-03-26 02:38:38 0 删除 编辑

更多相关推荐 Tim因为其实现了guice与dwr的集成,已经被列入dwr的contributor行列,Tim在自己的blog上也谈到了如何实现guice与dwr的集成,不过说的比较粗略。下面我们来看看如何实现guice与dwr的集成。

资源下载


下载最新的DWR 2.0 RC4a,地址:https://dwr.dev.java.net/files/documents/2427/55209/dwr.jar
下载Guice 1.0,地址:http://google-guice.googlecode.com/files/guice-1.0.zip


定义服务

java 代码
 
public interface HelloService {  
    String sayHello(String name);  


java 代码
 
public class DefaultHelloService implements HelloService {  
    public String sayHello(String name) {  
        return "Hello, " +name;  
    }  
}  

实现dwr的Listener
java 代码
public class DwrContextListener extends DwrGuiceServletContextListener {    
    @Override    
    protected void configure() {    
        // 在这里可以安装其他的guice模块    
        // install(new TempModule());    
        // 绑定服务    
        bindRemotedAs("HelloService", HelloService.class).to(DefaultHelloService.class).in(Scopes.SINGLETON);    
    }    
}    

配置DWR


xml 代码
         
      
    temp.DwrContextListener  
        listener-class>  
listener>  
  
    dwr-invokerservlet-name>  
    DWR Servletdisplay-name>  
    Direct Web Remoter Servletdescription>  
    org.directwebremoting.guice.DwrGuiceServletservlet-class>  
      
        debugparam-name>  
        trueparam-value>  
    init-param>  
      
        activeReverseAjaxEnabledparam-name>  
        trueparam-value>  
    init-param>  
    1load-on-startup>  
servlet>  
  
  
    dwr-invokerservlet-name>  
    /dwr/*url-pattern>  
servlet-mapping>  

至此,已经完成了guice与dwr的集成。启动web服务,在浏览器中输入:http://localhost:{port}/{context}/dwr,便可以看到所发布的HelloService服务。

重大改进

dwr在与guice集成之后有了突出的功能性改进,以往如果想要发布远程对象,需要使用具体类来实现,不可以使用接口,这使得发布的对象暴露过多的内部信息,虽然可以通过在dwr.xml中显示的定义哪些方法和属性需要发布,哪些不用,但是这样也加大了对发布的远程对象的维护和管理难度。借助guice,DWR 2.0RCa目前可以以发布接口的方式来发布远程对象。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13270562/viewspace-217884/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-02-28

  • 博文量
    141
  • 访问量
    401895