敏捷是一條很長(zhǎng)的路,摸索著前進(jìn)著
Hessian是一個(gè)輕量級(jí)的remoting onhttp工具,使用簡(jiǎn)單的方法提供了RMI的功能. 相比WebService,Hessian更簡(jiǎn)單、快捷。 采用的是二進(jìn)制RPC協(xié)議,因?yàn)椴捎玫氖嵌M(jìn)制協(xié)議,所以它很適合于發(fā)送二進(jìn)制數(shù)據(jù)。
本文將分為以下幾個(gè)內(nèi)容: 一、一個(gè)簡(jiǎn)單的Hessian調(diào)用例子 二、Spring+Hessian的例子 三、使我們的調(diào)用變得通用
第一部分:一個(gè)簡(jiǎn)單的Hessian調(diào)用例子 建立web工程HessianService。 這里為了簡(jiǎn)單起見,我將遠(yuǎn)程接口類、接口實(shí)現(xiàn)類都定義在此web工程下。
個(gè)人覺(jué)得一個(gè)比較好的做法是將web工程分開,此web工程只定義對(duì)外的接口并提供服務(wù),而實(shí)現(xiàn)類新建一個(gè)Java工程存放。 這樣web工程依賴此Java工程,且客戶端也依賴此Java工程。
1) 遠(yuǎn)程接口類 ServiceRemote.java
2) 實(shí)現(xiàn)類 Service.java
3) web.xml配置
經(jīng)過(guò)以上3步,hessian服務(wù)部署算是完成了,在tomcat下發(fā)布。
4) 調(diào)用方代碼
執(zhí)行代碼,結(jié)果如下: {NAME=Hessian} 說(shuō)明調(diào)用遠(yuǎn)程代碼成功了。
二、Spring+Hessian的例子 1) web工程HessianService 的ServiceRemote 和Service類不變。對(duì)web.xml進(jìn)行修改:
這里要注意的是: a)dispatcher-servlet.xml這個(gè)文件的命名。servlet配置為dispatcher,則此文件定義規(guī)則為****-servlet.xml. b)另外就是Spring和hessian的版本問(wèn)題。 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版本不合。(我試驗(yàn)了是配置不成功的。)
2) dispatcher-servlet.xml
3) 客戶端代碼可以保持原樣不變,把調(diào)用hessian服務(wù)的url變換一下即可: http://localhost:8080/HessianService/remote/service http://IP:port/發(fā)布工程名/web.xml中配置的url-pattern/****-servlet.xml bean的ID。
三、使我們的調(diào)用變得通用 將在下一篇中介紹。
Powered by: BlogJava Copyright © 李 明