Hessian 接口使用示例总结
一、使用hessian接口准备
首先,hessian接口的使用,必须要准备hessian接口的jar包,本文使用的jar包如下:hessian-4.0.7.jar;
Hessian接口的使用一般是在两个工程之间,本文假定工程A作为服务方,B作为使用方(客户端)。
二、服务方的配置和服务类的编写
A作为服务方,首先向A中导入hessian的jar包,若是maven工程,则直接添加hessian的依赖jar则可,否则直接将jar导入工程lib下面。
依赖添加如下:在A的pom.xml中 添加:如下的pom依赖配置:
添加完依赖之后,实现hessian的服务配置实现。配置hessian的servlet,便于服务方可以解析hessian的服务请求。在A中web.xml配置hessian的servlet如下:
配置完servlet之后,客户端的.hs的方式请求,都会按照servlet的配置,会到hessian-servlet.xml文件中读取配置,找到对应的服务的类方法。下面配置hessian-servlet.xml文件。
本文件为spring的配置文件,主要存放hessian的服务方的配置,多个hessian接口的配置均可以放到本文件中统一管理。下面以/hessianTestService.hs为例解释:配置如下
Bean name=“hessianTestService” 此为hessian接口的服务类的bean配置,这个大家都懂的,Bean name =“/hessianTestService.hs” 服务名,以.hs结尾,同时对应hessian的servlet的分发配置url mapping 如上面的servlert的配置。Class 为固定的jar包类的class。org.springframework.remoting.caucho.HessianServiceExporter ,此类包含两个属性:
Name=“service” 这是配置hessian服务对应的实现类。注入实现类的bean—hessianTestService
Name=“serviceInterface” 这是服务类实现的接口层。Value 设置接口名,带上包名的全称。到此,hessian服务方的配置,全部完成。
下面实现 服务类的测试,编写测试的方法如下:编写简单的测试方法,printMyName();
编写配置里面对应的实现类的接口:
三、客户端main函数的测试实现
服务方配置完成之后,启动A工程,保证服务方的正常运行。在B工程中首先编写main函数测试,能不能得到A中的刚刚编写的测试类的服务。首先,同样,使用hessian接口,还是要导入hessian的jar包。然后,编写与服务方同样的接口层,客户端的配置实现.然后编写,客户端的main调用实现类如下:
客户端的测试类分为两部分:getservice() 和 excute()首先用服务方提供的url得到接口层的服务IHessianTestService,然后通过IHessianTestService来执行服务方类的方法。至此,直接运行测试类的main方法,可以测试hessian的服务方是否可以使用。可以使用,则可以进行客户端的配置和注入使用。
测试运行结果如下:可以发现,调用了服务方的函数,得到结果显示:
四、客户端的配置和注入
测试通过了之后,开始配置hessian客户端:配置内容如下:
Bean name=”testHessianHs” 客户端的beanname class对应的是jar包类:org.springframework.remoting.caucho.HessianProxyFactoryBean
serviceInterface 对应的是客户端编码的与服务方一样的接口层。ServiceUrl 对应的是 服务方提供的url(工程上下文+hessian服务名)工程上下文 最后是配置方式的,方便实现不同环境的切换。
注意:配置客户端bean,最好是建一个专门的客户端spring配置文件,我是用hessian-client文件。让客户端工程的web.xml加载hessian-client.xml.
将得到的客户端bean testHessianHs 可以方便的注入到你的controller中,可以使用服务方的服务类的实现方法。注入方式如下:
到此为止,就能方便的在自己的业务类中注入自己的客户端的接口,方便的调用服务方提供的适用方法了.
简单的hessian接口的使用就结束了.
Hessian 接口使用示例总结的更多相关文章
- Hessian 接口使用示例总结(转载)
一.使用hessian接口准备 首先,hessian接口的使用,必须要准备hessian接口的jar包,本文使用的jar包如下:hessian-4.0.7.jar; Hessian接口的使用一般是在两 ...
- 国际快递查询接口JAVA示例-trackingmore
国际快递查询接口 国际快递查询接口的需求量很大,例如一些跨境电商B2C网站.快递查询APP.快递柜.跨境物流公司等都会需要用到国际快递接口. 目前市面上的快递接口,以国内快递居多,有些虽然号称支持多家 ...
- 关于hessian接口类方法顺序及对象序列化的实战研究
前段时间,提供出去的hessian接口被调用时,调用方出现序列化异常以及其他莫名的异常.同事说hessian接口使用有2个注意事项: 1.对于已经存在的hessian接口,后续增加的方法只能加在文件末 ...
- 基于JAVA的全国天气预报接口调用示例
step1:选择本文所示例的接口"全国天气预报接口" url:https://www.juhe.cn/docs/api/id/39/aid/87step2:每个接口都需要传入一个参 ...
- 脑波设备mindwave TGCD接口开发示例
对于TGCD的开发,神念科技提供的文件包括,头文件thinkgear.h,thinkgear.lib,thinkgear.dll,有这三个文件,在win32下开发就不是什么难事了吧 如果是java语言 ...
- JAVA的免费天气api接口调用示例
step1:选择本文所示例的接口"免费天气api" url:https://www.juhe.cn/docs/api/id/39/aid/87 step2:每个接口都需要传入一个参 ...
- Http接口调用示例教程
介绍HttpClient库的使用前,先介绍jdk里HttpURLConnection,因为HttpClient是开源的第三方库,使用方便,不过jdk里的都是比较基本的,有时候没有HttpClient的 ...
- node.js 接口调用示例
测试用例git地址(node.js部分):https://github.com/wuyongxian20/node-api.git 项目架构如下: controllers: 文件夹下为接口文件 log ...
- hessian接口参数,子类与父类不能有同名字段解决方法
hessian默认是使用 com.caucho.hessian.io.JavaSerializer 序列化,同名字段子类字段值被赋值两次,最终用父类null值赋给了子类同名字段,解决方法就是 指定序列 ...
随机推荐
- jQuery访问json文件(一个例子)
保存网址 打开时 点开一个类型 当点开一个类型,其他类型隐藏 回到所有类型 没有错,左下角有个这是什么样子的图标 做到了什么: 1.从json文件中取得网址,并根据访问次数排列,放到前面: 2.就是1 ...
- promise待看文档备份
http://swift.gg/2017/03/27/promises-in-swift/ http://www.cnblogs.com/feng9exe/p/9043715.html https:/ ...
- ZBrush带你发掘脸部雕刻的秘诀(上)
骨骼,是一门基础艺术,几百年来一直为伟大的艺术大师所研究,它曾经,也将一直是创作现实且可信角色的关键,提高骨骼知识更将大大提高雕刻技能. 当然,这对于现实角色很重要,对卡通和风格化的角色也同样重要,底 ...
- Dynamics CRM Online 快速的debug 方法
这里的前提想大家了解一下. Dynamics 365 online的产品的session是30分钟 timeout. 如果你logout之后, session还是会储存在服务器端不会release. ...
- Django01 web http 基础
一.内容回顾 1.python基础 2.网络编程 3.并发编程 4.前端 5.数据库(MySQL) 二.今日概要 1.了解Web应用程序的本质 2.Django简介及安装使用 三.今日详细 1.最简单 ...
- 【转】Oracle基础结构认知—进程及逻辑结构 礼记八目 2017-12-17 19:33:21
原文地址:https://www.toutiao.com/i6500477672349499917/ 一. Process Structure进程结构 Oracle有两种类型的进程: 服务器进程和后台 ...
- vc++如何创建程序-析构函数01
#include<iostream.h>class Point{public: int x; int y; Point() { x=0; y=0; }//构造函数是用来创建函数本身,那么, ...
- BZOJ 4827: [Hnoi2017]礼物 FFT_多项式_卷积
题解稍后在笔记本中更新 Code: #include <bits/stdc++.h> #define setIO(s) freopen(s".in","r&q ...
- Java JDK 1.7 和 JDK 1.8 新特性
0 引言 本文主要介绍 Java JDK 中 1.7 和 1.8 的新特性. 1 JDK 1.7 新特性 1. switch可以接受String类型: public class Switch { pu ...
- Oracle数据库性能优化基础
1.数据处理分类OLTP,OLAP 2.Oracle特性 3.数据库优化方法论/原则 方法论:自顶向下优化和自底向上优化 3.1 自顶向下优化 3.2 自底向上优化 对于多年的老系统出现性能问题时,就 ...