試著寫了一個Hessian的例子,是參考caucho官網上的一個example,很簡單,也沒什么實際的意義,但足以領會Hessian的用法。
1、建立一個Remote Interface
2、Service Implementation
官網上的例子是沒有實現(xiàn)MathService接口的,而且也能運行成功,但我覺得有點不合邏輯,不應該將該實現(xiàn)類作為MathService接口暴露給client端。
3、web.xml
4、Java client
使用java實現(xiàn)的client,通過HessianProxyFactory的create即可獲取到服務接口。
5、python client
使用python實現(xiàn)的client,需加入hessianlib.py。
以上就是一個完整的Hessian實現(xiàn)。
Spring也提供了對Hessian的集成,若使用spring,server端的service實現(xiàn)類則不需實現(xiàn)HessianServlet,使用Spring的DispatcherServlet來配置一個Servlet暴露你的服務。 web.xml
還需要在 WEB-INF 目錄里創(chuàng)建一個名為 remote-servlet.xml(remote為你配置的servlet名)的應用上下文。 remote-servlet.xml
server端做以上操作即可。
client端可以延用之前的操作,若使用spring則可通過 HessianProxyFactoryBean在客戶端連接服務,在spring的配置中加入:
加入以上的配置后,就可像使用其他的bean一樣去操作了。原來實現(xiàn)一個webservice是可以這么簡單的。