黑马程序员技术交流社区

标题: 【西安校区】Hessian入门 [打印本页]

作者: 西安Java组    时间: 2018-3-8 15:25
标题: 【西安校区】Hessian入门
一、什么是Hessian
Hessian 是一个基于 binary-RPC 实现的远程通讯library。使用二进制传输数据。
Hessian通常通过Web应用来提供服务,通过接口暴露。
ServletSpringDispatcherServlet都可以把请求转发给Hessian服务。
由以下两种方式提供,分别为:
com.caucho.hessian.server.HessianServlet
org.springframework.web.servlet.DispatcherServlet
二、入门案例
Hessian的主要功能是完成不同系统之间的数据交互,要完成以上功能就要设计到提供数据的一方和接收数据的一方,那我们将提供数据的一方称为服务端,获取数据的一方称为客户端。具体服务端和客户端的具体编写如下:

服务端
第一步:创建一个web项目,并导入hessianjar包: hessian-4.0.33.jar
第二步:创建一个接口
[Java] 纯文本查看 复制代码
public interface HelloService {
                public String sayHello(String name);
                public List<User> findAllUser();
        }
第三步:提供上面接口的实现类
[Java] 纯文本查看 复制代码
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中配置服务
[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.itcast.service.HelloServiceImpl</param-value>
                </init-param>
                <init-param>
                        <param-name>home-api</param-name>
                        <param-value>cn.itcast.service.HelloService</param-value>
                </init-param>
        </servlet>
        <servlet-mapping>
                <servlet-name>hessian</servlet-name>
                <url-pattern>/hessian</url-pattern>
        </servlet-mapping>
第五步: 启动服务器,进行访问  http://ip:port/项目名/hessian
客户端
第一步:创建一个客户端项目,并导入hessianjar
第二步:创建一个接口(和服务端接口对应)
[Java] 纯文本查看 复制代码
public interface HelloService {
                public String sayHello(String name);
                public Object findAllUser();
        }
第三步:使用hessian提供的方式创建代理对象调用服务
[Java] 纯文本查看 复制代码
HessianProxyFactory factory = new HessianProxyFactory();
        String url = “http://ip:port/项目名/hessian”;
        HelloService proxy = (HelloService) factory.create(HelloService.class, url);
        String ret = proxy.sayHello("test");
        System.out.println(ret);
        Object users = proxy.findAllUser();
        System.out.println(users);











欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2