和ice,webservice一樣,既然作為服務類那麼必須有文件公布它的介面形式,客戶端使用者在通過這個文件來生成**類。ice是通過.ice檔案,webservice是通過wsdl,但是hessian沒有這個型別的文件,hessian的**類是直接通過factrory去生成的。所以在做hessian客戶端**之前,需要拿到介面檔案inte***ce。下面我們通過乙個完整的例子看看hessian伺服器端**和客戶端**如何實現。
伺服器端**和配置:
1. 去
2. 新建伺服器端工程(web工程:hessian),新增介面宣告檔案new->inte***ce。**如下:
1 package hessian;
2
3 public inte***ce printer
3. 新建伺服器類實現**,new->class,**如下
01 package hessian;
02
03 public class printerservice implements printer
09
10 }
4. 修改伺服器端web.xml檔案如下
<?xml version="1.0" encoding="utf-8"?>
aaacom.caucho.hessian.server.hessianservlet
home-class
hessian.printerservice
home-api
hessian.printer
aaa/aaa
上述**實現如下功能:
* 指定介面的url
* 指定api使用的inteface檔案
* 指定伺服器類實現的**
6. 將hessian jar包拷貝到lib目錄下。
客戶端**:
1. 新建客戶端工程,新增測試類,**如下
01 package hessian;
02
03 import com.caucho.hessian.client.hessianproxyfactory;
04
05 public class testclient
17
18 }
執行客戶端**:可以看見hessian helloworld。
如果讀者有興趣使用comview去捕捉實際傳遞的內容,發現根本看不懂傳遞的內容,因為是以二進位製流進行傳遞的。
Hessian介面學習筆記
hessian 是採用二進位製流進行通訊的,效能應該會好一些,不過既然通過二進位製流傳遞,是不是對複雜物件的傳遞有問題呢,畢竟傳遞過程中沒有象 soap 這樣保留了物件的結構的。這個問題有待以後考證。和ice,webservice 一樣,既然作為服務類那麼必須有文件公布它的介面形式,客戶端使用者在通...
機器學習筆記 Hessian矩陣
看牛頓法的時候,遇到的這個問題 原問題是要用牛頓法求對數似然函式 l 的最大值,也就是似然函式導數的零點,即迭代過程為 l l 如果 為向量,就會想,函式對向量求導怎麼求?所以查了一下 結果是向量 事實上這就是所謂的gradient,即對於一般標量函式 f x 其中向量為 x x1,xn 導數為 f...
hessian學習總結 一
簡單的hessian使用 1.先建立需要呼叫的介面和實現類 如下 介面 public inte ce basicapi 實現類public class basicservice implements basicapi public void set greeting string greeting ...