欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Hessian

系統 2455 0

一、 簡介

?? ????? Hessian 是由 caucho 提供的一個基于 binary-RPC 實現的遠程通訊 library

1 、是基于什么協議實現的 ?

????????? 基于 Binary-RPC 協議實現。

2 、怎么發起請求 ?

????????? 需通過 Hessian 本身提供的 API 來發起請求。

3 、怎么將請求轉化為符合協議的格式的 ?

????????? Hessian 通過其自定義的串行化機制將請求信息進行序列化,產生二進制流。

4 、使用什么傳輸協議傳輸 ?

????????? Hessian 基于 Http 協議進行傳輸。

5 、響應端基于什么機制來接收請求 ?

????????? 響應端根據 Hessian 提供的 API 來接收請求。

6 、怎么將流還原為傳輸格式的 ?

????????? Hessian 根據其私有的串行化機制來將請求信息進行反序列化,傳遞給使用者時已是相應的請求信息對象了。

7 、處理完畢后怎么回應 ?

????????? 處理完畢后直接返回, hessian 將結果對象進行序列化,傳輸至調用端。

二、 Hessian? 調用實例

a) ????????? 編寫服務端代碼

寫一個接口:

public ? interface ? Hello ?{

???? public ?String seeHello();

}

編寫一個實現:

public ? class ?HelloImpl? implements ?Hello {

?

???? private ?String? helloStr ?=? “Hello World” ;

?

???? public ?String getHelloStr() {

??????? return ? helloStr ;

???? }

?

???? public ? void ?setHelloStr(String helloStr) {

??????? this . helloStr ?= helloStr;

???? }

?

???? public ?String seeHello() {

??????? return ? helloStr ;

???? }

?

}

配置 WEB-INF.xml? 部署到 Web 容器中:

????????? <servlet> ??

????????? ???? <servlet-name>hello</servlet-name> ??

????????? ???? <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> ??

????????? ???? <init-param> ??

????????? ???????? <param-name>home-class</param-name> ??

????????? ???????? <param-value>com.alisoft.enet.hessian.HelloImpl</param-value> ??

????????? ???? </init-param> ??

????????? ???? <init-param> ??

????????? ???????? <param-name>home-api</param-name> ??

????????? ???????? <param-value>com.alisoft.enet.hessian.Hello</param-value> ??

????????? ???? </init-param> ??

????????? </servlet> ??? ?? ??

??

????????? <servlet-mapping> ??

????????? ???? <servlet-name>hello</servlet-name> ??

????????? ???? <url-pattern>/hello.xsp</url-pattern> ??

????????? </servlet-mapping> ?

???????????? Ok ,服務端代碼編寫完畢。

????????

b) ????????? 編寫客戶端代碼

?

public ? class ?HelloServiceTest {

?

?? public ? static ? void ?main(String[] args)? throws ?Exception {

????

????? String url =? “http://localhost/hessian/hello.xsp” ;

?

????? HessianProxyFactory factory =? new ?HessianProxyFactory();

????? Hello hello = (Hello) factory.create(Hello. class , url);

?

????? System. out .println( 遠程調用結果 : “ ?+ hello.seeHello());

?

?? }

}

?

????????? 執行客戶端,即可返回相應的結果:

??????????????????? 遠程調用結果 : Hello World ????????

????????? 上面的例子是基于 ?caucho? 提供的 Hessian? 包的基礎上做的,實際上 Spring Hessian 調用只是對這個進行簡單的封裝,便于使用。

? ?

三、Hessian機制

?

?

?

Hessian

? 那么 Hessian 就是把 Java 對象轉變成 ? 字節序列,然后通過 Http 傳輸到 ? 目標服務器上(主機 2 ),主機 2 收到這個字節序列后,按照一定的協議標準進行反序列,提交給對應的服務處理。處理完成以后以同樣的方式返回數據。

?

現在我們回頭看看例子中的配置( WEB-INF.XML :

配置的 Servlet ? com.caucho.hessian.server.HessianServlet

對應的參數:接口 (home-api) com.alisoft.enet.hessian.Hello

???????????????????????????? 實現 (home-class): com.alisoft.enet.hessian.HelloImpl

?

?

?

HessianServlet? 中的實現代碼如下(略過部分代碼):

?

HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;

InputStream is = request.getInputStream();
OutputStream os = response.getOutputStream();

//輸入流
Hessian2Input in = new Hessian2Input(is);
SerializerFactory serializerFactory = getSerializerFactory();
in.setSerializerFactory(serializerFactory);

//輸出流
AbstractHessianOutput out;
int major = in.read();
int minor = in.read();
out = new Hessian2Output(os);

out.setSerializerFactory(serializerFactory);

_homeSkeleton.invoke(in, out);

?

整個執行步驟如下:

l ?? 接收輸入流,并通過 SerializerFactory 轉化為 ?Hessian? 特有的 ? Hessian2Input

l ?? 設置輸出流,并通過 SerializerFactory 轉化為 ?Hessian? 特有的 ? Hessian2Output

l ?? 根據配置的接口和實現參數,調用服務,并把結果寫入到輸出流 ? Hessian2Output

l ??? Out.close()

?

Hessian 遠程訪問基于序列化和反序列化的方式。當程序運行時,程序所創建的各種對象都位于內存中,當程序運行結束,這些對象就結束了生命周期。對象的序列化主要有兩種用途:

l ?? 把對象的字節序列永久地保存到硬盤上,通常是放在一個文件中。

l ?? 在網絡上傳輸對象的字節序列

Hessian


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲亚洲人成综合网络 | 韩日在线视频 | 人人澡人人爱 | 在线精品自拍亚洲第一区 | 一区二区国产在线观看 | a级毛片在线免费观看 | 日韩一区二区在线观看视频 | 国产japan色系videos护士 日韩精品视频在线免费观看 | 第四色婷婷墓地 | 免费xxxx日本大片在线观看 | 女同久久另类99精品国产 | 君岛美绪一区二区三区 | 日韩在线视频导航 | 日韩美女一区二区三区在线观看 | 夭天曰天天躁天天摸在线观看 | 免费xxxx日本大片在线观看 | 久九九精品免费视频 | 精品一区二区三区四区五区六区 | 涩涩屋av | 在线欧美一区 | 成人网免费视频 | 天天操伊人 | 久草久草久草 | 男女污污无遮挡免费观看 | 香蕉久久a毛片 | 亚洲黄色免费 | www操操 | 国产成人三级 | 在线欧美一区 | 亚洲最大福利视频 | 欧美网站在线看 | 九九爱国产 | 党涛| 国产一卡2卡三卡4卡免费网站 | 91久久综合九色综合欧美亚洲 | 欧美韩国日本一区 | 婷婷久久综合 | 欧美日韩在线免费 | 久久久久久综合 | 91免费看 | 鲍莉|