`

hessian系列之一:Hello world

    博客分类:
  • java
阅读更多
Hessian是一个Web Service的轻量级二进制协议,使用起来比较简单。

随着信息技术的发展,不同语言或平台系统之间的交互越来越多,普通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,查看控制台输出的信息。
分享到:
评论

相关推荐

    hessian实例 helloworld

    hessian实例,一个HELLOWORLD hessian实例,一个HELLOWORLD hessian实例,一个HELLOWORLD

    Hessian HelloWorld篇

    NULL 博文链接:https://wolfsoft.iteye.com/blog/799450

    maven-spring-hessian:带有 Hessian 的 Hello world Spring Web 应用程序

    maven-spring-hessian 带有 Hessian 的 Hello world Spring Web 应用程序

    hessian-3.0.20-src.jar

    hessian是一个轻量级的Java Remoting方案

    Hessian实例下载

    Hessian实例 网站地址:http://hessian.caucho.com/#Java可以下载Hessian需要的jar包 2010.11.11上传

    Hessian协议的C#源代码

    编译的方法,例如:使用VisualStudio2010/.NET4环境,首先用VS2010生成一个空的WEB项目,删除项目里web.config等无关文件,再将Hessian的burlapcsharp、hessiancsharp两个文件夹复制、粘贴到项目中,最后编译生成DLL...

    hessian 源代码与jar包

    Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据

    hessian-3.3.6-API文档-中英对照版.zip

    赠送jar包:hessian-3.3.6.jar 赠送原API文档:hessian-3.3.6-javadoc.jar 赠送源代码:hessian-3.3.6-sources.jar 包含翻译后的API文档:hessian-3.3.6-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven...

    hessian-3.3.6-API文档-中文版.zip

    Maven坐标:com.alipay.sofa:hessian:3.3.6; 标签:sofa、hessian、alipay、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...

    hessian-4.0.63-API文档-中文版.zip

    Maven坐标:com.caucho:hessian:4.0.63; 标签:hessian、caucho、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构...

    hessian_penalty:黑森州罚则代码

    Hessian 惩罚——正式实施| | | 设为首页| 这个 repo 包含我们新的正则化术语的代码,鼓励在神经网络中解开。 它有效地将神经网络的 Hessian 优化为输入中的对角线,从而使该输入解开。 我们展示了它在生成对抗网络 ...

    hessian-lite-3.2.1-fixed-2.jar

    com.alibaba:hessian-lite:jar:3.2.1-fixed-2 hessian-lite hessian-lite-3.2.1-fixed-2.jar

    一个简单的Hessian示例

    一个简单的Hessian,简单介绍了Hessian的使用方式,介绍了Hessian和Spring集成的使用方式,以及单独使用Hessian的方式。

    Hessian样例源代码

    1、开发环境:eclipse3.1 + jdk1.5; 2、样例说明: 1)spring + hessian; 2)hessian。 3、样例内容: 1)HashMap传递; 2)简单对象传递; 3)异常处理

    hessian-4.0.63-API文档-中英对照版.zip

    Maven坐标:com.caucho:hessian:4.0.63; 标签:hessian、caucho、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和...

    Hessian-3.2.1.jar和源码

    Hessian是一个轻量级的remotingonhttp工具,使用简单的方法提供了RMI的功能。相比Webservice,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合发送二进制数据。

    hessian包及一个简单的使用实例

    提供hessian-4.0.37.jar下载,及服务器端与客户端通信的实例

    Hessian多个版本打包下载

    Hessian多个版本下载,包括Hessian3.1.6,Hessian3.2.1,Hessian4.0.7

    hessian案例,hessian案例

    该案例有hessian java python,该案例有hessian java python,该案例有hessian java python

    sofa-hessian-node:由Ant Financial支持的性能增强版Hessian

    sofa-hessian-node 蚂蚁金服对 Hessian 序列化的定制版本 sofa-hessian-node 对应的 Java Hessian 版本是 v3.1.3。它对 模块做了进一步封装,通过预编译来提高性能。 安装 $ npm install sofa-hessian-node --save ...

Global site tag (gtag.js) - Google Analytics