• 远程调用——hessian使用入门


    Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebServiceHessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

    常见的远程调用的技术:

    1webserviceCXFaxissoap 

    2httpclient

    3hessian---http协议、二进制数据

    4dubbo---阿里巴巴

    hessian有两种发布服务的方式:

    1、使用hessian框架自己提供的Servlet发布

    2、和spring整合发布服务

    一、什么是Hessian

    Hessian 是一个基于 binary-RPC 实现的远程通讯 library。使用二进制传输数据。
    Hessian通常通过Web应用来提供服务,通过接口暴露。
    Servlet和Spring的DispatcherServlet都可以把请求转发给Hessian服务。
    由以下两种方式提供,分别为:
    com.caucho.hessian.server.HessianServlet、org.springframework.web.servlet.DispatcherServlet。

    二、入门案例

    2.1 服务端开发:
    第一步:创建一个web项目,并导入hessian的jar包
    第二步:创建一个接口

    public interface HelloService {
      public String sayHello(String name);
      public List<User> findAllUser();
    }

    第三步:提供上面接口的实现类

    public class HelloServiceImpl implements HelloService{
      public String sayHello(String name) {
      System.out.println("sayHello方法被调用了");
      return "hello " + name;
      }
    
    public List<User> findAllUser() {
      List<User> list = new ArrayList<User>();
      list.add(new User(1, "小王"));
      list.add(new User(2,"小白"));
      return list;
      }
    }

    第四步:在web.xml中配置服务

    <servlet>
    <servlet-name>hessian</servlet-name>
    <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
    <init-param>
    <param-name>home-class</param-name>
    <param-value>cn.zang.service.HelloServiceImpl</param-value>
    </init-param>
    <init-param>
    <param-name>home-api</param-name>
    <param-value>cn.zang.service.HelloService</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>hessian</servlet-name>
    <url-pattern>/hessian</url-pattern>
    </servlet-mapping>

    wsimport
    wsdl2java

    2.2 客户端开发:
    第一步:创建一个客户端项目,并导入hessian的jar包
    第二步:创建一个接口(和服务端接口对应)

    public interface HelloService {
      public String sayHello(String name);
      public Object findAllUser();
    }

    第三步:使用hessian提供的方式创建代理对象调用服务

    HessianProxyFactory factory = new HessianProxyFactory();
    HelloService proxy = (HelloService) factory.create(HelloService.class, "http://localhost:8089/hessian_server/hessian");
    String ret = proxy.sayHello("test");
    System.out.println(ret);
    Object users = proxy.findAllUser();
    System.out.println(users);
  • 相关阅读:
    dede 专题的调用
    dede织梦CMS文件夹目录结构
    [转]Dedecms备份还原网站有效方法
    dede入侵步骤
    dede限制标题长度后,鼠标移到标题,不显示完整的锚文本标题解决方法
    dede列表缩图中,给缩图添加alt锚文本信息的方法
    dede织梦_高级功能function扩展-dede @me
    《DSP using MATLAB》示例Example4.8
    《DSP using MATLAB》示例Example4.7
    《DSP using MATLAB》示例Example4.6
  • 原文地址:https://www.cnblogs.com/zjfjava/p/7078929.html
Copyright © 2020-2023  润新知