Java 远程调用 Hessian 简例

来源:互联网 发布:linux强制停止sh 编辑:程序博客网 时间:2024/05/17 22:22

<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下载,高清电影下载,电影下载,单机游戏下载,游戏下载,电子书下载,电子书PDF下载​