敏捷是一条很长的路,摸索着前进着
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单、快捷。 采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
本文将分为以下几个内容: 一、一个简单的Hessian调用例子 二、Spring+Hessian的例子 三、使我们的调用变得通用
第一部分:一个简单的Hessian调用例子 建立web工程HessianService。 这里为了简单起见,我将远程接口类、接口实现类都定义在此web工程下。
个人觉得一个比较好的做法是将web工程分开,此web工程只定义对外的接口并提供服务,而实现类新建一个Java工程存放。 这样web工程依赖此Java工程,且客户端也依赖此Java工程。
1) 远程接口类 ServiceRemote.java
2) 实现类 Service.java
3) web.xml配置
经过以上3步,hessian服务部署算是完成了,在tomcat下发布。
4) 调用方代码
执行代码,结果如下: {NAME=Hessian} 说明调用远程代码成功了。
二、Spring+Hessian的例子 1) web工程HessianService 的ServiceRemote 和Service类不变。对web.xml进行修改:
这里要注意的是: a)dispatcher-servlet.xml这个文件的命名。servlet配置为dispatcher,则此文件定义规则为****-servlet.xml. b)另外就是Spring和hessian的版本问题。 spring版本是2.5.6,需要在此web工程下引入:spring-2.5.6.jar、spring-webmvc-2.5.6.jar、commons-logging-1.1.1.jar。 hessian的版本是hessian-3.1.6.jar,hessian的低版本如 hessian-3.0.13和此Spring版本不合。(我试验了是配置不成功的。)
2) dispatcher-servlet.xml
3) 客户端代码可以保持原样不变,把调用hessian服务的url变换一下即可: http://localhost:8080/HessianService/remote/service http://IP:port/发布工程名/web.xml中配置的url-pattern/****-servlet.xml bean的ID。
三、使我们的调用变得通用 将在下一篇中介绍。
Powered by: BlogJava Copyright © 李 明