hessian 入门
2015-07-26 22:13
441 查看
Hessian 是一个序列化协议, 他的优点在于比 Java 原生的对象序列化/反序列化速度更快, 序列化出来以后的数据更小.
序列化协议跟应用层协议无关, 可以将 Hessian 序列化以后的数据放在 HTTP Body 里, 也可以放在 DUBBO 里, 或者直接用 Socket 传输。
hessian是一个采用二进制格式传输的服务框架,相对传统soap web service,更轻量,更快速。
作为入门,我们定义一个helloworld级别的例子
这样就可以访问sayHello 接口了
ok,代码写完。
我们直接启动服务端的server。然后执行客户端,运行结果,如下
hello,pangzhw
序列化协议跟应用层协议无关, 可以将 Hessian 序列化以后的数据放在 HTTP Body 里, 也可以放在 DUBBO 里, 或者直接用 Socket 传输。
hessian是一个采用二进制格式传输的服务框架,相对传统soap web service,更轻量,更快速。
作为入门,我们定义一个helloworld级别的例子
一、 定义接口(客户端、服务器端使用)
如:public interface HelloService { public String sayHello(String name); }
二、服务器端实现
public class HelloServiceImpl implements HelloService { @Override public String sayHello(String message) { return "hello," + message; } }
三、 接口发布
在web.xml 中添加如下<servlet> <servlet-name>hessian-service</servlet-name> <servlet-class> com.caucho.hessian.server.HessianServlet </servlet-class> <init-param> <param-name>home-class</param-name> <param-value> 服务实现类 org.ifly.edu.hessian.hello.HelloServiceImpl </param-value> </init-param> <init-param> <param-name>home-api</param-name> 服务接口 <param-value>org.ifly.edu.hessian.hello.HelloService</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>hessian-service</servlet-name> <url-pattern>/hessian</url-pattern> </servlet-mapping>
这样就可以访问sayHello 接口了
四、客户端访问
public class ServiceTest { @Test public void testService() throws MalformedURLException { String url = "http://localhost:8080/techStudy/hessian"; System.out.println(url); HessianProxyFactory factory = new HessianProxyFactory(); HelloService helloService = (HelloService) factory.create(HelloService.class, url); System.out.println(helloService.sayHello("pangzhw")); } }
ok,代码写完。
我们直接启动服务端的server。然后执行客户端,运行结果,如下
hello,pangzhw
相关文章推荐
- Java反射机制详解
- 一个人的旅行
- POJ 2115 C Looooops(扩展欧几里得)
- codeforces 391E2 (【Codeforces Rockethon 2014】E2)
- iOS中的基本 UI 控件的使用
- 看opengl写代码(10) 使用属性数组
- 2.1-运行级别
- Spark运行模式(一)-----Spark独立模式
- hdu 2317 Nasty Hacks
- DOM性能小记
- UIButton之ImageEdge&TitleEdge笔记
- 设计模式 (10) - 代理模式
- QA website
- freemarker的学习
- 股票学习(K线)
- struct timeval 和 struct timespec
- zoj 月赛
- Saving Tang Monk
- 2.0-密钥验证
- java之从1到n整数中1出现的次数