- 浏览: 1249741 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (193)
- ant/maven (6)
- algorithm (5)
- tomcat/weblogic/jboss (6)
- javascript/jquery (13)
- java (33)
- flex/flash (0)
- JPA/Hibernate/myBatis (18)
- java concurrent (7)
- test (2)
- windows/linux (6)
- java collection (7)
- design pattern (2)
- life/health (3)
- database (12)
- IDE (4)
- spring/ejb (20)
- html/css/ckeditor (7)
- jsp/servlet (3)
- java io (13)
- java security (4)
- jni (0)
- svn/git (2)
- english (2)
- java jmx (1)
- xml (1)
- struts/springmvc (9)
- middleware (2)
- cache (1)
- cglib (3)
最新评论
-
jlotusYo:
博主,真感谢。
Java 密码扩展无限制权限策略文件 -
senninha:
这个。。是api说明吧。。
ScheduledExecutorService 源码分析 -
zoutao2008:
请问大文件如何处理?按你这种方式的话,文件超过200M时就会报 ...
hessian系列之二:上传文件 -
lwj1113:
lwj1113 写道谢谢博主这么细致的demo;在系列五中通过 ...
myBatis系列之五:与Spring3集成 -
lwj1113:
谢谢博主这么细致的demo;在系列五中通过testng测试类跑 ...
myBatis系列之五:与Spring3集成
Hessian是一个Web Service的轻量级二进制协议,使用起来比较简单。
随着信息技术的发展,不同语言或平台系统之间的交互越来越多,普通Web Service使用起来会比较复杂,Hessian相对简单。
下面介绍下使用Hessian实现异构系统之间的数据交互:
Hessian构建服务和客户端一般需要如下四个步骤:
1. 定义接口API
2. 服务端实现-实现接口
3. 客户端实现-HessianProxyFactory
4. 在serlvet容器中配置服务
一、新建maven web工程,在pom.xml中加入hessian依赖:
二、接口API:
三、服务端实现:
在web.xml加入:
四、客户端实现:
启动web工程,查看是否报错。
启动BasicClient,查看控制台输出的信息。
随着信息技术的发展,不同语言或平台系统之间的交互越来越多,普通Web Service使用起来会比较复杂,Hessian相对简单。
下面介绍下使用Hessian实现异构系统之间的数据交互:
Hessian构建服务和客户端一般需要如下四个步骤:
1. 定义接口API
2. 服务端实现-实现接口
3. 客户端实现-HessianProxyFactory
4. 在serlvet容器中配置服务
一、新建maven web工程,在pom.xml中加入hessian依赖:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.john.hessian</groupId> <artifactId>hessian</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>hessian Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <junit.version>4.10</junit.version> <hessian.version>4.0.7</hessian.version> <logback.version>1.0.11</logback.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>${hessian.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> </dependencies> <build> <finalName>hessian</finalName> </build> </project>
二、接口API:
public interface BasicAPI { String hello(); }
三、服务端实现:
public class BasicService implements BasicAPI { private String _greeting = "Hello world!"; public void setGreeting(String greeting) { this._greeting = greeting; } @Override public String hello() { return _greeting; } }
在web.xml加入:
<servlet> <servlet-name>hello</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param> <param-name>home-class</param-name> <param-value>com.john.hessian.impl.BasicService</param-value> </init-param> <init-param> <param-name>home-api</param-name> <param-value>com.john.hessian.intf.BasicAPI</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>
四、客户端实现:
public class BasicClient { static final String url = "http://localhost/hessian/hello"; public static void main(String[] args) throws MalformedURLException { HessianProxyFactory factory = new HessianProxyFactory(); BasicAPI basic = (BasicAPI) factory.create(BasicAPI.class, url); System.out.println("hello(): " + basic.hello()); } }
启动web工程,查看是否报错。
启动BasicClient,查看控制台输出的信息。
发表评论
-
Netty系列之二、Netty组件
2014-10-12 19:55 0Netty主要由以下几个组件构成: Bootstrap o ... -
Netty系列之二:传输方式
2014-09-17 22:35 0NIO (Non-blocking I/O) io.netty ... -
Java正则表达式实例
2014-08-25 22:50 1942题目: 有两个文件context.txt和words ... -
quartz系列之九:存储
2014-08-05 13:16 0这里以1.8.x为例: 任务 ... -
JVM 四种引用
2014-04-24 19:56 17731. 强引用 指通过普通 ... -
Proxy 源码分析
2014-04-21 10:47 0public class Proxy implements ... -
NIO UDP 编程
2014-04-17 23:18 4257和TCP的SocketChannel类似,UDP的Dat ... -
Matcher 源码分析
2014-04-15 14:45 0首先看下接口: public interface Matc ... -
BTrace 使用
2014-03-20 18:03 0简介 Btrace (Byte Trace)是Sun推出的一款 ... -
NIO Socket 编程
2014-04-11 22:48 1664Java NIO (Nonblocking IO)解决了常规I ... -
hessian系列之二:上传文件
2014-02-17 17:16 6227hessian较早版本通过 byte[] 进行文件传输;4.0 ... -
hessian系列之三:与Spring集成
2014-02-17 20:21 17897Spring封装了hessian客户端和服务端的通用代码,把实 ... -
XStream:自定义转换器
2013-12-30 22:47 0XStream是一款不错的oxm (Object-XML ma ... -
Http连接工具类
2013-12-28 16:13 0public class HttpConnUtil { ... -
Integer源码分析
2013-12-26 19:59 0private static String toU ... -
全排序
2013-12-23 21:02 0写一个函数, 如 foo(String str), 打印出 s ... -
logback系列之四:输出日志到不同文件
2013-12-03 16:25 69041logback系列之一:输出日志到控制台 logback系列之 ... -
Properties 源码分析
2013-11-26 10:32 01. Properties类扩展了Hashtable,用来保存 ... -
logback系列之三:输出日志到文件(滚动)
2013-11-16 23:37 64429logback系列之一:输出日志到控制台 logback系列之 ... -
logback系列之二:输出日志到文件
2013-11-15 15:20 30348logback系列之一:输出日志到控制台 logback系列之 ...
相关推荐
"Hessian HelloWorld篇"可能是指一篇教程或示例,介绍如何使用Hessian进行简单的远程调用。 这篇博文可能涵盖了以下知识点: 1. **Hessian协议**:解释了Hessian协议的基本原理,包括其二进制格式如何节省带宽和...
2. 定义服务接口,例如`Helloworld`。 3. 创建实现接口的类`HelloworldImpl`,并继承自`HessianServlet`。 4. 在`web.xml`中配置HessianServlet,指定服务接口和实现类。 5. 客户端通过`HessianProxyFactory`创建...
private String helloStr = “Hello World”; public String getHelloStr() { return helloStr; } public void setHelloStr(String helloStr) { this.helloStr = helloStr; } public String seeHello() { ...
**Hessian:一种二进制Web服务协议** Hessian是一种高效的二进制RPC(远程过程调用)协议,常用于Web服务。它是由Caucho Technology开发的,目的是为了提高XML-based的Web服务如SOAP的性能。Hessian通过使用二进制...
在Spring框架中,Hessian是一种轻量级的远程方法调用(RPC)协议,它能够实现Java对象到字节流的序列化,从而使得服务端的对象可以在客户端直接调用,仿佛对象就在本地一样。Hessian提供了高效的二进制RPC协议,使得...
本文将基于"Dubbo入门之HelloWorld"的主题,深入探讨如何从零开始学习并实践Dubbo的基本用法。 首先,我们需要了解什么是RPC(Remote Procedure Call)。RPC是一种使程序可以调用另一个系统中的函数或方法的技术,...
HelloWorld hello = (HelloWorld) factory.create(HelloWorld.class, url); System.out.println(hello.sayHello("World")); } } ``` 运行服务端和客户端,你将在客户端看到"Hello, World"的输出,这就完成了...
【标题】"maven-spring-hessian:带有 Hessian 的 Hello world Spring Web 应用程序" 描述了一个基于 Maven、Spring 和 Hessian 技术构建的简单 Web 应用示例。这个项目的核心是演示如何在分布式环境中使用 Hessian ...
本文将深入探讨Hessian的核心概念、工作原理,并提供一个简单的使用示例。 ### Hessian核心概念 1. **二进制序列化**:Hessian使用高效的二进制格式进行序列化和反序列化,与XML或JSON相比,这种格式的数据体积更...
在.NET开发环境中,C#是一种常用的编程语言,而Hessian是一种二进制的远程方法调用(Remote Method Invocation,RMI)协议。Hessian能够帮助开发者实现高效的、跨平台的数据交换,尤其适用于分布式系统中的服务调用...
private String _greeting = "Hello, world"; public void setGreeting(String greeting) { _greeting = greeting; } public String hello() { return _greeting; } } ``` 3. **配置Servlet**: 在`web....
Java Hessian是一种二进制的RPC(远程过程调用)协议,由Caucho公司开发。它旨在提供轻量级、高效的跨语言通信方式,尤其适合于Java与Java之间的通信,但同时也支持与其他语言如Python、C++等的交互。Hessian的目标...
在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而Hessian则是一种高效的RPC(Remote Procedure Call)协议,它允许我们通过HTTP协议透明地调用远程服务,就像调用本地方法一样。本篇文章将深入探讨...
Hessian是一种高效的二进制RPC(远程过程调用)协议,它被广泛应用于分布式系统中,以实现轻量级的服务间通信。Hessian提供了一种简单、快速的方式将Java对象序列化为字节流,然后在服务端和客户端之间进行传输。...
Hessian的目标是提供一种简单、快速的方式来进行跨网络的服务调用,尤其是在处理Java与Java之间或者Java与其他语言之间的通信时。在本文中,我们将深入探讨Hessian的工作原理,并通过一个基于Spring框架的完整实例来...
本实例重点探讨的是基于Spring框架和Hessian协议的Web Service实现,这是一种轻量级、高效的远程调用解决方案。 首先,我们要理解Spring框架。Spring是Java领域的一个核心框架,它提供了全面的编程和配置模型,用于...
Hessian是Apache软件基金会的Caucho项目开发的一个开源RPC框架,它支持二进制协议,能够高效地进行远程方法调用。本教程将详细介绍"Hessian远程调用RPC最简单demo",包括服务器端服务发布和客户端服务调用的实现,...
Web服务是分布式系统中一种常见的通信方式,而Hessian是一种高效的二进制RPC协议,它被广泛用于构建轻量级的Web服务。本篇将深入探讨Hessian在Web服务开发中的应用,以及如何利用Hessian进行客户端和服务端的实现。 ...
4. **配置Hessian服务器端**:在Spring MVC中,你需要一个Controller来处理Hessian请求,比如: ```java @Controller @RequestMapping("/hessian") public class HessianController { @Autowired private ...
本篇将详细讲解如何使用Spring 4结合Hessian 4实现远程服务调用,这是一种轻量级的RPC(Remote Procedure Call)协议。 一、Spring 4与Hessian 4简介 Spring 4是Spring框架的一个版本,它提供了一整套企业级应用...