Hessian 使用入门
為什么80%的碼農都做不了架構師?>>> ??
本篇主要介紹Hessian的入門知識,包括Hessian服務端的搭建和客戶端的調用。
1 服務器搭建
? 1.1 創建普通Web工程
這樣的Web工程可以是Maven下面的工程,也可以是不用Maven構建的工程。如果是Maven工程可是使用如下依賴:
<dependency><groupId>com.caucho</groupId><artifactId>hessian</artifactId><version>3.1.5</version> </dependency>
hession的版本可以隨項目的情況調整。?
如果Web工程不用Maven構建,可以通過http://mvnrepository.com/artifact/com.caucho/hessian下載合適版本的hession包,放在合適的路徑上即可。
? 1.2 新建接口
Hessian對外的服務通常被定義成一個Interface。示例如下:
package service;/*** 功能:Hessian對外提供的服務接口*/ public interface Base {public String hello(String value); }? 1.3 實現接口
服務器端對外提供服務需要實現上面定義的接口:
package service;public class Hello implements Base {public String hello(String user) {return "hello " + user+" !";} }? 1.4 修改Web.xml
Hessian通過HttpServlet的方式對外提供服務,Hessian對外提供服務還需要配置Web.xml文件,配置項參考下面代碼:
<servlet><servlet-name>base</servlet-name> <!-- servlet-class中指定的類是固定的,統一使用 com.caucho.hessian.server.HessianServlet--><servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class><init-param> <!-- 服務實現類,使用全路徑 --><param-name>home-class</param-name><param-value>service.Hello</param-value></init-param><init-param> <!-- 服務接口,使用全路徑 --><param-name>home-api</param-name><param-value>service.Base</param-value></init-param></servlet><servlet-mapping><servlet-name>base</servlet-name><url-pattern>/base</url-pattern></servlet-mapping>? 1.5 啟動程序
2 客戶端調用
? 2.1 創建客戶端類
由于我的客戶端程序直接放在同一個Web工程下面,直接創建客戶端程序:
package service;import com.caucho.hessian.client.HessianProxyFactory;public class Test {/*** @param args*/public static void main(String[] args)throws Exception {// 遠程調用地址String url = "http://127.0.0.1:8080/test/base";//默認寫法HessianProxyFactory factory = new HessianProxyFactory(); //實例化Base base = (Base)factory.create(Base.class,url);//調用接口,并打印結果System.out.println(base.hello("world"));}}通常情況下,編寫客戶端程序需要依賴服務器提供的客戶端jar。
?2.2 執行調用
3 常見問題
? 3.1 jdk版本問題
? ? ? ?Web工程使用1.4版本的jdk,并且單單只引用hessian的jar包,在客戶端調用的時候會出現找不到類“net.sf.retrotranslator.runtime.java.lang._Integer”等錯誤。解決辦法,添加依賴retrotranslator-runtime-1.2.9.jar。
? ? 關于retrotranslator的參考鏈接:http://huajiang.iteye.com/blog/501086
轉載于:https://my.oschina.net/psuyun/blog/119492
總結
以上是生活随笔為你收集整理的Hessian 使用入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VMware Workstation 中
- 下一篇: Android屏幕尺寸适配注意事项