關於hessian的一些認識

2022-10-11 06:51:11 字數 2217 閱讀 8325

hessian是乙個解耦合的遠端呼叫包

1、hessian是基於http協議的,使用自己的序列化機制,這裡和rmi不同,rmi是使用j**a的序列化機制,包路徑不能改變。

2、hessian中介面的包路徑可以不一樣,即:server端和client端的界麵包路徑可以不同(不知道類名可不可以不同),如:在server端開放介面為:com.topsoft.service.testimpl在client端接收時為:com.topsoft.hessian.test_test

3、介面類的名字可以不一樣,示例同上

4、遠端呼叫hessian服務其實只需要乙個介面,不需要依賴的entity。其中涉及到的實體,hessian以map形式來傳遞值

如:server端有方法:public testentity getobj(testentity entity);//其中testentity是乙個測試實體。有三個簡單的屬性:name;pwd;key;

在client端可用如下方法呼叫:(當然客戶端需要修改介面為 map getobj(map entity));

map entity=new hashmap();

entity.put("name", "你好");

entity.put("pwd", "123");

entity.put("key", 123);

map obj=test.getobj(entity);

注:如果在client端傳實體,則必須與server端的實體一致。這裡的實體需要繼承serializable介面,但是serialversionuid 並不影響實體的一致性。

這裡如果客戶端介面修改為object getobj(object entity),會有兩種情況,如果客戶端classapth存在testentity這個實體,則獲得的是實體,如果不存在,則獲得hashmap.

5、hessian傳遞collection

hessian對於容器的傳遞,如果client端容器中該物件型別在classpath中存在,則容器內是傳遞的物件,如果不存在,則被轉換為hashmap物件。要注意:如果物件型別在classpath中存在,卻想強轉是會拋異常的。

6、hessian遠端呼叫分析:

hessian 的client遠端呼叫時,其實是轉化為http請求傳送出(httpurlconnection)去的,傳送格式如下:

以下是請求中的方法和引數,經過hessian的轉化這裡不再貼了  

以下是請求中的方法和引數,經過hessian的轉化這裡不再貼了

返回內容格式如下:

以下是請求方法的返回結果,經過hessian的轉化這裡不再貼了  

以下是請求方法的返回結果,經過hessian的轉化這裡不再貼了

關於Jsoup的一些認識

jsoup是解析html的工具,使用時要匯入jsoup.jar包 獲取 的html檔案 獲取jsoup連線 connection con jsoup.connect classno 獲取document物件 document doc con.get 獲取標籤中的html內容,例如sdskd中標籤的內...

關於宗教的一些認識

來京之後,我切實感受到了宗教的存在。實驗室的乙個小夥伴,是個 徒。為了了解 教的文化活動,我參加了好幾次她所在的教會的活動。感受頗多 其一,彼此陌生的人,因為信仰,居然可以短時間內形成親密團結的氛圍,滿臉樸實 毫無警惕地敞開心懷,進行懺悔,進行交流。其二,活動的形式有歌唱讚美主,演說認識主的過程。讚...

關於快取的一些認識

一 快取的成本和收益是什麼 既然要討論是否真的需要快取這個問題,就要知道快取帶來的成本與收益 好處 壞處 是什麼?收益 成本 快取 後端儲存 資源 1.加速讀寫 降低後端負載 資料不一致性 維護成本 架構複雜度 二 快取成本與收益詳解 收益是很明顯的,通常來說乙個設計還不錯的快取系統,能夠幫助你的業...