Android Bus 第二篇帖子 :
那么我觉得Hessian 数据传输机制,如果能够有一个重大的改进,比如说数据的传输格式多样性的话,针对JSON,XML ,明确一点,那么可以和WebService 有得比较,当然是我希望的
对于java Web这一个板块差不多1年没有做个这个方面的项目了,很多东西都忘记了,如果现在让我纯手写三大框架结合Hessian这个难度还是有很大的。但是最近android 端的项目需要用到服务器端的内容(非企业级项目),所以有开始从新写这个服务器端的项目,在查找资料的时候发现网上这部分内容很少,连源代码都没有什么,当然现在我写好了,就提供给需要的人,题外话:可能是因为我们百度公司太强大了,世界一流的搜索引擎。okay ,正题 简单介绍一下
根据百度文库介绍:Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
官方网站提供:Java、Flash/Flex、Python、C++、.NET C#等实现。Hessian和Axis、XFire都能实现web service方式的远程方法调用,区别是Hessian是二进制协议,Axis、XFire则是SOAP协议,所以从性能上说Hessian远优于后两者,并且Hessian的JAVA使用方法非常简单。Hessian由于没有WSDL这种服务描述文件去对实现进行规定,似乎更适合内部分布式系统之间的交互,对外提供服务还是使用后两者更体面些。
那么简单就介绍到这里:两个关键词,轻量级,服务器端,Hessian 。
客户端测试结果以及服务器目录结构 如下(里面写了三个同hessian项目)
一 : Hessian服务器端搭建步骤:
1、导入Hessian的Jar包
2、设计接口
3、实现接口:必须继承HessianServlet,接口参数对象必须实现序列化
4、配置web.xml
因为会贴出源码:所以下面贴出部分介绍web.xml
1).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">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>an</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>home-class</param-name>
<param-value>com.an.server.impl.HelloWorld</param-value>
</init-param>
<init-param>
<param-name>home-api</param-name>
<param-value>com.an.server.IHelloWorld</param-value>
</init-param>
<init-param>
<param-name>home-class</param-name>
<param-value>com.an.server.impl.BasicService</param-value>
</init-param>
<init-param>
<param-name>home-api</param-name>
<param-value>com.an.server.BasicAPI</param-value>
</init-param>
<init-param>
<param-name>home-class</param-name>
<param-value>com.an.server.impl.PhoneService</param-value>
</init-param>
<init-param>
<param-name>home-api</param-name>
<param-value>com.an.server.IphoneService</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>an</servlet-name>
<url-pattern>/hessian/an</url-pattern>
</servlet-mapping>
</web-app>
二: hessian客户端使用
1、导入Hessian的Jar包
2、导入服务端接口原型Jar包
3、获得服务端接口:
因为提供源码,这题显示部分接口调用代码
HessianProxyFactory hessianProxy = new HessianProxyFactory();
hessianProxy.setReadTimeout(TIME_OUT);
hessianProxy.setHessian2Reply(false); // Hessian协议的版本,false=第一版 true
hessianProxy.setHessian2Request(false);
this.service = (IHelloWorld) hessianProxy.create(IHelloWorld.class,
SERVICE_URL);
三,注意事项
1.android 项目需要上网权限;
2.服务器必须先启动后才能访问;
3.web.xml配置文件必须规范;
四, 为什么我找不到上传源码的地方呢?好像等级限制,先在下面附上下载链接
下载地址一 : (基于Myeclipse的开发环境)http://www.staryumou.icoc.cc/col.jsp?id=103
下载地址二 : (基于eclipse ee的环境) 等待上传链接: h链接链接: http://pan.baidu.com/s/1eQ4Pfvs
共同学习,写下你的评论
评论加载中...
作者其他优质文章