Hessian简单示例
来源:互联网 发布:深圳长租公寓 知乎 编辑:程序博客网 时间:2024/05/06 08:09
官网:Hessian
百科:Hessian
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
示例的项目结构:
不需要按照这里的结构来写,创建一个Java Web工程即可,将hessian.jar放到lib下面即可。
创建一个对外接口
public interface Basic { String hello(String name); String say(String msg); int sum(int a,int b);}
实现该接口并继承HessianServlet
public class BasicService extends HessianServlet implements Basic { @Override public String hello(String name) { return "Hello " + name; } @Override public int sum(int a, int b) { return a + b; } @Override public String say(String msg) { return "Say:" + msg; }}
配置web.xml
<servlet> <servlet-name>hello</servlet-name> <servlet-class>com.abel533.hessian.BasicService</servlet-class></servlet><servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern></servlet-mapping>
启动服务器
客户端代码
public class Client { interface Hello { String hello(Object name); } interface SumSay { String say(String msg); int sum(int a, int b); int hi(String hi); } public static void main(String[] args) throws MalformedURLException { //TODO 根据实际地址修改 String url = "http://localhost:8090/hello"; HessianProxyFactory factory = new HessianProxyFactory(); Hello basic = (Hello) factory.create(Hello.class, url); System.out.println(basic.hello(123)); SumSay sumSay = (SumSay) factory.create(SumSay.class, url); System.out.println(sumSay.say("你好!")); System.out.println("10+20=" + sumSay.sum(10, 20)); }}
在客户端中我创建了两个接口,接口名和最上面Basic
中的部分接口是一样的。
其中hello
方法的参数类型和接口提供的不一致。
经过简单的测试发现,只要方法名一致,并且参数个数一致,就可以成功调用。
并且从上面的Hello
和SumSay
两个接口也可以看出来,不需要拥有原接口全部接口,可以只有部分接口(还可以多出来,但是不能调用)。
只有和Hessian接口一致的方法才能调用。
2 2
- Hessian简单示例
- Hessian简单示例
- hessian简单示例
- Hessian 示例
- Hessian 使用示例总结
- hessian应用示例
- Hessian探究(一)Hessian入门示例
- hessian简单实例
- 简单Hessian实例
- Hessian简单入门
- Hessian简单入门
- hessian简单实例
- 简单的Hessian实例
- HESSIAN 简单例子
- Hessian---简单例子
- maven + hessian 简单例子
- hessian 的简单介绍
- hessian简单小例子
- 用CountDownLatch实现主线程等待子线程
- jquery的when和Deferred方法
- 美国平均网速提升40% 仍未进全球前十
- 关于正反馈机制和负反馈机制与MACHI的思(tu)考(cao)
- **解决mysql 1045拒绝登陆的问题**
- Hessian简单示例
- Android中判断网络连接是否可用及监控网络状态
- (转)sshd_config配置 详解
- 关于css垂直居中
- 标题栏、去掉、隐藏、全屏、android
- 【android】自定义组合控件PullToRefreshRecyeclerView
- Cocos2d-JS事件处理机制
- codeigniter MySQL加减运算
- span 换行出现的间隔