首页 > Linux操作系统 > Linux操作系统 > Guice与DWR集成
更多相关推荐 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>
init-param>
init-param>
servlet>
servlet-mapping>
至此,已经完成了guice与dwr的集成。启动web服务,在浏览器中输入:http://localhost:{port}/{context}/dwr,便可以看到所发布的HelloService服务。
重大改进
dwr在与guice集成之后有了突出的功能性改进,以往如果想要发布远程对象,需要使用具体类来实现,不可以使用接口,这使得发布的对象暴露过多的内部信息,虽然可以通过在dwr.xml中显示的定义哪些方法和属性需要发布,哪些不用,但是这样也加大了对发布的远程对象的维护和管理难度。借助guice,DWR 2.0RCa目前可以以发布接口的方式来发布远程对象。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13270562/viewspace-217884/ ,如需转载,请注明出处,否则将追究法律责任。