<servlet> <servlet-name>hessianService</servlet-name> <!-- 注意這裡,這是hessian提供的 --> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param> <param-name>service-class</param-name> <!-- 執行個體化後調用的類 --> <param-value>guilinsoft.ddsx.api.WdpfImpl</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>hessianService</servlet-name> <url-pattern>/hessianService</url-pattern> </servlet-mapping>
感謝:綠悠悠
項目中需要即時監控裝置的目前狀態,而伺服器又在遠程,so,在網上找到了強大的Hessian,哈哈,之前我一直以為它是session的擴充..汗,看了看它的官網,有點暈,主要是它的設定檔沒明白,然後又在oschina中找到了綠悠悠同學分享的執行個體.哦也..運行調用成功,趁熱記錄一番。
類比二個項目,Demo(伺服器),client(用戶端)
GreetingAPI是介面,而GreetingServlet是介面的實現...名字沒起好..
package example; public interface GreetingAPI { public String hello(); public String ok(); public String no();}package example; public class GreetingServlet implements GreetingAPI { private static final long serialVersionUID = 1L; private String _greeting="Hello,would!"; public String hello() { return _greeting; } public String ok(){ return "this is greetingServlet method ok!!"; } public void set_greeting(String greeting) { _greeting = greeting; } public String no() { return "this is greetingServlet method NO!!"; } }
注意,包名需要與伺服器一致哦,不然執行個體它時,它會報出找不到的異常。GreetingAPI.java的內容跟伺服器端的一致
package example; import java.net.MalformedURLException; import com.caucho.hessian.client.HessianProxyFactory;import com.jzero.util.MPrint; public class test { public static void main(String[] args) { String url="http://localhost:8080/Demo/hessianService"; HessianProxyFactory factory=new HessianProxyFactory(); try { GreetingAPI api=(GreetingAPI) factory.create(url); MPrint.print(api.hello()); MPrint.print(api.ok()); MPrint.print(api.no()); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
-------【程式調試列印資料:Hello,would!】--------------【程式調試列印資料:this is greetingServlet method ok!!】--------------【程式調試列印資料:this is greetingServlet method NO!!】-------
來源:Java 遠程調用 Hessian 簡例
-----------廣告區
休閑豆,IT資訊,IT新聞資訊,電影BT下載,高畫質 DVD下載,電影下載,單機遊戲下載,遊戲下載,電子書下載,電子書PDF下載