日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hessian 使用入门

發布時間:2024/1/17 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 使用入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。