hessian入门案例(一)

hessian是一种远程通讯协议,由于最近工作上用到了hessian进行数据传输,所以将自己这段时间对hessian的理解分享出来,首先给大家来个入门案例吧,原理解析和源码分析后续会补上。
hessian分为三个板块,一个是hessian api,用于存放接口,工具类等其他辅助类,hessian client,hessian server都要依赖hessian api,然后由hessian client进行发送请求,hessian server接受请求并处理返回结果,目录结构如下:

这里写图片描述

在hessian api中我写了一个接口,如下
package com.hessian.service;

public interface HelloHessian {

public void sayHello(String hello);

}

而后在hessian web中实现了这个接口,如下:

public class HelloHessianImpl implements HelloHessian {

    @Override
    public void sayHello(String hello) {
        System.out.println("hello");
    }

}

别忘了需要引入hessian的jar包
然后再hessian web中配置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>com.hessian.service.impl.HelloHessianImpl</param-value>
        </init-param>
        <init-param>
            <param-name>home-api</param-name>
            <param-value>com.hessian.service.HelloHessian</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>hessian</servlet-name>
        <url-pattern>/hessian</url-pattern>
    </servlet-mapping>
最后来看hessian  client,我预先将hessian的源码导入进来,只是为了下篇文章讲解源码的时候便于调试,如下是我的hessian client的目录结构:
![这里写图片描述](https://img-blog.csdn.net/20171101205624112?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVpeW9uZ196aG91/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

对了,引入hessian的源码会报错,可能需要依赖tomcat中的servlet-api.jar等v其他jar包,自己到时候碰到了解决下就行,还有,启动hessian web的时候需要依赖hessian api项目,解决项目之间的依赖问题可以看我的http://blog.csdn.net/huiyong_zhou/article/details/78316367这篇博客
最后贴上hessian client客户端的代码
package com.test;

import java.net.MalformedURLException;

import com.caucho.hessian.client.HessianProxyFactory;
import com.hessian.service.HelloHessian;

public class HelloHessianTest {

public static void main(String[] args) {
    HessianProxyFactory factory = new HessianProxyFactory();
    try {
        HelloHessian helloHessian = (HelloHessian) factory.create(HelloHessian.class, "http://localhost:8080/hessian_web/hessian");
        helloHessian.sayHello("hi~~~~~~");
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

}
启动hessian web,在启动hessian client就可以看到输出hi~~~~~~了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值