hessian的简单使用
来源:互联网 发布:怎么在淘宝办理学生证 编辑:程序博客网 时间:2024/06/02 04:07
Hessian是一个轻量级的remotingonhttp工具,使用简单的方法提供了RMI的功能。相比Webservice,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合发送二进制数据。
在进行基于Hessian的项目开发时,应当注意一下几点:
Java服务器端必须具备:
■包含Hessian的jar包
■设计一个接口,用来给客户端调用
■实现该接口的功能
■配置web.xml,配置好相应的servlet
■由于使用二进制RPC协议传输数据,对象必须进行序列化,实现Serializable接口
■对于复杂对象可以使用Map的方法传递
Java客户端必须具备:
□Java客户端包含Hessian的jar包
□具有和服务器端结构一样的接口,包括命名空间都最好一样
□利用HessianProxyFactory调用远程接口
Hessian的简单例子
Hessian服务端
第一步:创建Web Project(HessianServer),并将hessian-3.2.1.jar放入WEB-INF/lib文件夹下。
第二步:创建User类,注意:实现Serializable接口
import java.io.Serializable; public class User implements Serializable{ private String name; private Integer age; public User() { super(); } public User(String name, Integer age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
第三步:创建接口IBasicApiimport com.mahc.hessian.domain.User; public interface IBasicApi { /* 设置用户名 */ public boolean setUserName(String name); /* 获取问候 */ public String sayHello(); /* 获取用户信息 */ public User getUser(); }
第四步:创建实现IBasicApi的BasicService
import com.mahc.hessian.domain.User; public class BasicService implements IBasicApi{ private String name; @Override public boolean setUserName(String name) { this.name = name; return false; } @Override public String sayHello() { return "Hello "+ name+",Welcome to Hessian!"; } @Override public User getUser() { return new User(name, 23); } }
第五步:配置WEB-INF下的web.xml<!-- Hessian在web.xml上的配置 --> <servlet> <servlet-name>HessianServlet</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param> <param-name>service-class</param-name> <param-value>com.mahc.hessian.BasicService</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>HessianServlet</servlet-name> <url-pattern>/api/service</url-pattern> </servlet-mapping>
Hessian客户端
第一步:创建Java Project(HessianClient),并将hessian-3.2.1.jar放入lib文件夹下
第二步:创建与服务端一致的com.mahc.hessian.domain.User和com.mahc.hessian.IBasicApi
第三步:创建客户端测试
public class ClientTest { public static void main(String[] args) throws MalformedURLException { String url = "http://localhost:8080/HessianServer/api/service"; HessianProxyFactory factory = new HessianProxyFactory(); IBasicApi api = (IBasicApi) factory.create(IBasicApi.class, url); api.setUserName("mahc"); System.out.println(api.sayHello()); System.out.println(api.getUser().getName()); System.out.println(api.getUser().getAge()); } }
第四步:部署HessianServer,启动Tomcat,运行ClientTest。查看运行结果。
总结:
在服务端需要配置接口与接口实现类,在web.xml里配置HessianServlet的servlet,并配置初始化参数,name为service-class,value为接口的实现类
在客户端需要配置与服务端相同名字的接口
阅读全文
0 0
- hessian的简单使用
- Spring 的 Hessian 简单使用
- Spring 的Hessian简单使用,快速理解Hessian运行方式
- Hessian Spring相关使用的简单例子
- 简单的Hessian实例
- hessian 的简单介绍
- hessian 的简单介绍
- hessian技术的使用
- Hessian的使用简介
- hessian的使用
- Hessian的使用
- Hessian的使用介绍
- Hessian的使用
- Hessian的基本使用
- Hessian的使用与介绍
- Hessian协议的使用例子
- hessian远程调用的使用
- Hessian的使用以及理解
- 架构腐化之谜
- 数据结构(二)---基本的栈的操作
- 嵌入式系统导论
- Eclipse中集成Tomcat
- 数据排序及回到顶部
- hessian的简单使用
- Python序列遍历enumerate()的使用方法,同时返回索引和值,索引值从1开始输出
- javascript 贪心算法说明
- AndroidStudio NDK开发配置CmakeLists文件
- 674-Longest Continuous Increasing Subsequence
- 面试常考智力题
- Leetcode之Third Maximum Number 问题
- 为什么Controller层注入的是Service接口,而不是ServiceImpl实现类
- Hibernate的一对多操作