Hessian Binary Web Service Protocol远程接口调用入门
2015-10-15 11:56
465 查看
摘要:Hessian是一个轻量级的remoting
onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
hessian类似于Webservice,但是它不使用soap协议,它把协议报文封装到http封包中,通过HTTP信道传输。是一种高效简洁的远程调用框架,它采用的是二进制RPC协议(Binary),具有轻量、传输量小、平台无关的特点,特别适合于目前网络带宽比较小的手机网络应用项目。 Hessian是通过servlet提供远程服务,完全使用动态代理来实现的,推荐采用面向接口编程,因此,Hessian服务建议通过接口暴露。
hessian已经支持Java,Flash/Flex,Python,C++,.NET C#,D,Erlang,PHP,Ruby,Objective C。其中我最喜欢的就是它不需要我们与xml“打交道”,直接操作对象,省去了很多麻烦。
缺点:如果service层中返回的对象是复杂对象,使用它就会削弱Hessian的传输量小的优点,而且也会增加Hessian客户端的代码量。既然它是把对象序列化为二进制流的形式在http信道中传输,那么对于安全性高的应用不应该采用hessian(比如网上支付等)、
官方简介:Hessian 是一个二进制协议,提供web 服务就像创建Servlet一样简单. 使用服务就像使用JDK代理接口一样简单,下面就看一下程序例子。
一:首先看一下程序截图:
二:服务端:
1.接口:
2.实现类:
3.web.xml:
三:客户端:
1.测试类:
四:输出的结果如下图:
这样使用Hessian实现的简单远程接口调用就完成了,是不是很简单呢,赶快来试一下吧!
附上源代码下载地址:http://download.csdn.net/detail/sxdtzhaoxinguo/9182975
onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
hessian类似于Webservice,但是它不使用soap协议,它把协议报文封装到http封包中,通过HTTP信道传输。是一种高效简洁的远程调用框架,它采用的是二进制RPC协议(Binary),具有轻量、传输量小、平台无关的特点,特别适合于目前网络带宽比较小的手机网络应用项目。 Hessian是通过servlet提供远程服务,完全使用动态代理来实现的,推荐采用面向接口编程,因此,Hessian服务建议通过接口暴露。
hessian已经支持Java,Flash/Flex,Python,C++,.NET C#,D,Erlang,PHP,Ruby,Objective C。其中我最喜欢的就是它不需要我们与xml“打交道”,直接操作对象,省去了很多麻烦。
缺点:如果service层中返回的对象是复杂对象,使用它就会削弱Hessian的传输量小的优点,而且也会增加Hessian客户端的代码量。既然它是把对象序列化为二进制流的形式在http信道中传输,那么对于安全性高的应用不应该采用hessian(比如网上支付等)、
官方简介:Hessian 是一个二进制协议,提供web 服务就像创建Servlet一样简单. 使用服务就像使用JDK代理接口一样简单,下面就看一下程序例子。
一:首先看一下程序截图:
二:服务端:
1.接口:
package com.micai.hessian.server; public interface Basic { public String hello(); }
2.实现类:
package com.micai.hessian.server; public class BaseService implements Basic { private String greetings = "Hello, hessian!"; public void setGreetings(String greetings) { this.greetings = greetings; } public String hello() { return greetings; } }
3.web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>Hessian</display-name> <servlet> <servlet-name>ducklyl</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param> <param-name>home-class</param-name> <param-value>com.micai.hessian.server.BaseService</param-value> </init-param> <init-param> <param-name>home-api</param-name> <param-value>com.micai.hessian.server.Basic</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>ducklyl</servlet-name> <url-pattern>/ducklyl</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
三:客户端:
1.测试类:
package com.micai.hessian.client; import com.caucho.hessian.client.HessianProxyFactory; import com.micai.hessian.server.Basic; public class BasicClient { public static void main(String[] args) throws Exception { String url = "http://localhost:8080/Hessian/ducklyl"; //创建factory实例 HessianProxyFactory factory = new HessianProxyFactory(); //客户端需实现Basic接口 Basic basic = (Basic) factory.create(Basic.class, url); System.out.println("Hessian: " + basic.hello()); } }
四:输出的结果如下图:
这样使用Hessian实现的简单远程接口调用就完成了,是不是很简单呢,赶快来试一下吧!
附上源代码下载地址:http://download.csdn.net/detail/sxdtzhaoxinguo/9182975
相关文章推荐
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- android之定时器AlarmManager
- GUI - Web前端开发框架
- Extjs4.0 最新最全视频教程
- MyEclipse Web Project转Eclipse Dynamic Web Project
- axis备忘
- Erlang实现的一个Web服务器代码实例
- 防止网页脚本病毒执行的方法-from web
- 自学成才的秘密:115个 web Develop 资源
- 使用批处理修改web打印设置笔记 适用于IE
- Apache Web让JSP“动”起来
- web下载的ActiveX控件自动更新
- 推荐六款WEB上传组件性能测试与比较第1/10页
- 关于三种主流WEB架构的思考
- Windows XP Service Pack 3 RC1 v.3244 winxp补丁3 提供下载
- Run As Service runassrv.exe 详细参数第1/2页
- 安装MySQL在最后的start service停住了解决方法
- 使用 Iisext.vbs 列出 Web 服务扩展文件的方法