Hessian源码研究(1)----先学会用再研究

前言

在研究源码之前,首先要了解下hessian到底有啥用,磨刀不误砍柴工。

Hessian是什么?

Hessian是一个轻量级的RPC框架,它基于HTTP协议传输,使用Hessian二进制序列化,对于数据包比较大的情况比较友好。但是它的参数和返回值都需要实现Serializable接口。

为什么要使用Hessian?比起webservice,Hessian还是要快很多的,因为hessian传输的格式是二进制,而webservice的是xml。

准备

话不多说,这就马上准备环境:

  • JAVA WEB项目(尽量不要用spring配置,不然不够原汁原味)
  • Hessian JAR包,下载地址,下载后把jar包里的内容复制到WEB项目里面就好了。
  • Tomcat8.0

目录结构类似这样:
在这里插入图片描述

实现服务端

实现服务端首先我们需要配置一个在web.xml中添加一个servlet,看代码!

	 <servlet>
        <servlet-name>HessianServlet</servlet-name>
        <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
        <init-param>
            <param-name>service-class</param-name>
            <param-value>test.BaseImpl</param-value>
        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>HessianServlet</servlet-name>
        <url-pattern>/hessian</url-pattern>
    </servlet-mapping>

接下来在test包下创建Base接口和Base接口的实现类BaseImpl
Base.java:

package test;

public interface Base {
    String sayHello(String name);
}

BaseImpl.java:

package test;

public class BaseImpl implements Base {

    @Override
    public String sayHello(String name) {
        return "This is Hello words " + name;
    }
}


客户端

客户端实现也不是特别难,看代码:

package test;

import com.caucho.hessian.client.HessianProxyFactory;

public class BaseClient {

    public static void main(String[] args) {
        try {
            String url = "http://localhost:8080/test/hessian";
            // 创建Hessian代理工厂,工厂是为了创建Hessian客户端的存根
            // 为屏蔽客户调用远程主机上的对象,必须提供某种方式来模拟本地对象,这种本地对象称为存根(stub),存根负责接收本地方法调用,并将它们委派给各自的具体实现对象
            HessianProxyFactory factory = new HessianProxyFactory();
            factory.setOverloadEnabled(true);
            // 根据输入的URL创建创建代理类
            Base basic = (Base) factory.create(Base.class, url);
            // 执行对应方法
            System.out.println(basic.sayHello("你好吗"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

运行测试

先运行服务端,如果输入url后出现下面页面,则表示正常
在这里插入图片描述
正常后运行客户端:
在这里插入图片描述
一切正常!

结尾

简单介绍了一下hessian,后面的章节我会对Hessian进行源码分析,喜欢的各位可以点个赞哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值