Java的通信方式有很多,最快的是rmi,还有socket,webservice 之类;今天项目刚好要用rmi,socket 都需要防火墙单独的开放端口,想想还是用简单的 http 请求把;据说hessian 比webservice 快一点就顺便拿来做个例子。
废话不说了,他的官网地址下载地址是 http://hessian.caucho.com/ , 最新版本是4.0.7,包很小,功能很强大,据官网上说 还支持rmi。
先定义请求接口:
public interface IuploadifyInfo { //接受文件详细信息 public String receiveInfo(List<UploadifyFile> uploadifyFiles); }
服务端 实现:
public class UploadifyInfo extends HessianServlet implements IuploadifyInfo { private static final long serialVersionUID = 7410494948359166445L; @Override public String receiveInfo(List<UploadifyFile> uploadifyFiles) { if (UtilGet.listIsEmpty(uploadifyFiles)) { // 接受文件详细消息 // System.out.println(uploadifyFiles); } return ""; } }
然后配置监听请求(配置servlet)
<servlet> <servlet-name>uploadifys</servlet-name> <servlet-class>cn.test..bs.UploadifyInfo</servlet-class> </servlet> <servlet-mapping> <servlet-name>uploadifys</servlet-name> <url-pattern>/info</url-pattern> </servlet-mapping>
然后写客户端:
public class HessionUitil { public void processInfo(List<UploadifyFile> uploadifyFiles) { HessianProxyFactory factory = new HessianProxyFactory(); IuploadifyInfo h = null; try { h = (IuploadifyInfo) factory.create(IuploadifyInfo.class,"/info"); h.receiveInfo(uploadifyFiles); } catch (MalformedURLException e) { e.printStackTrace(); } } }
调用客户端 List<UploadifyFile> uploadifyFiles 这个list 信息就会被服务端拦截到打印出来。
相关推荐
基于java实现hessian进行服务器之间数据交互demo项目 实现功能: 1.基于spring 2.5.6+hessian3.1.6带有签名安全机制 2.基于servlet代理机制实现HessianServlet,进行简单IP地址校验功能!
demo中实现了hessian的通讯,支持安卓的hessian的jar,实际项目中已经使用。
这篇文档讲解的是Hessian的实现原理,简单易懂,是一个很好用的可以实现远程访问的技术!!!
主要是将《Flex第一步》里使用FDS数据传输改为使用Hessian来实现,一些地方做了些简单的修改。 关于Flex使用Hessian进行远程调用,请参考: Flex + Hessian 学习笔记(一) ...
一个简单实用的hessian框架的应用实例,用于实现分布式开发远程调用!
主要通过对二者简单的实现方式的对比,介绍了Java序列化和hessian序列化的差异,具有一定参考价值,需要的朋友可以了解下。
有关Dubbo服务框架的简单使用,可以参考我的其他两篇文章(《基于Dubbo的Hessian协议实现远程调用》,《Dubbo实现RPC调用使用入门》,后面参考链接中已给出链接),这里主要围绕Dubbo分布式服务相关配置的使用来说明...
它可以有不同的实现方式。如RMI(远程方法调用)、Hessian、Http invoker等。另外,RPC是与语言无关的。RPC示意图如上图所示,假设Computer1在调用sayHi()方法,对于Computer1而言调用sayHi()方法就像调用本地方法一样...
一个自己实现的极为简单的RPC框架,可以用来做Hessian等技术框架研究的参考。
实现了四种序列化算法,Json 方式、Kryo 算法、Hessian 算法与 Google Protobuf 方式(默认采用 Kryo方式序列化) 实现了两种负载均衡算法:随机算法与轮转算法 使用 Nacos 作为注册中心,管理服务提供者信息 消费端...
SWF代码分析与破解之路 (YueTai VIP视频信息获取工具) Socket续篇附件工具下载 ... 上一篇 《Socket与网站保密应用 (隐藏链接的视频下载)》大大咧咧地...,看来加了个 protocol 的都不简单了,好几个平台的版本都出来了。
public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag...
json-rpc是基于json的跨语言远程调用协议,比xml-rpc、webservice等基于文本的协议传输数据格小;相对hessian、java-rpc等二进制协议便于调试、实现、扩展,是非常优秀的一种远程调用协议。
public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag...
该项目主要提供复用TCP连接的RPC调用,目前实现的协议有java自带的和hessian。 框架的协议是可扩展的,服务也是可扩展的。 关于Server 目前只是netty 服务端会管理TCP连接 服务端可扩展的,实现Server接口即可 ...
它仅依赖于公共结果及其协方差或Hessian,并且已针对组合似然法进行了验证。 还介绍了实现此方法的专用软件包。 它与C ++界面一起提供了基于文本的用户界面。 后者还与ROOT类接口,以便简单组合装仓的测量值,例如...
远程调用的应用场景极其广泛,实现的方式也各式各样。 2. 从通信协议的层面 基于 HTTP 协议的(例如基于文本的 SOAP(XML)、Rest(JSON),基于二进制 Hessian(Binary)) 基于 TCP 协议的(通常会借助 Mina、...
人工进化的一个简单的,不是特别实用的实现。 - 这个存储库中的东西大多是旧的演示。 请参阅 了解更多有趣的演示。 使用这个的项目 我的许多项目都使用这个存储库。 此列表没有任何特定顺序,并且在任何给定时间都...
Dubbo 的设计目标是提供高性能和透明化的远程方法调用服务,使得分布式应用之间的调用就像调用本地方法一样简单。 Dubbo 具有以下主要特点: 服务治理:Dubbo 提供了完整的服务治理解决方案,包括服务注册发现、...