当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

hessian系列之一:Hello world

发表于: 2014-01-06   作者:czj4451   来源:转载   浏览次数:
摘要: Hessian是一个Web Service的轻量级二进制协议,使用起来比较简单。 随着信息技术的发展,不同语言或平台系统之间的交互越来越多,普通Web Service使用起来会比较复杂,Hessian相对简单。 下面介绍下使用Hessian实现异构系统之间的数据交互: Hessian构建服务和客户端一般需要如下四个步骤: 1. 定义接口API 2. 服务端实现-实现接口
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系列之一:Hello world

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
本例子实现了一个简单的hello world程序。运行效果: 虚拟机Ubuntu中: win7中chrome浏览器: 一、c
学习android当然不能少了HelloWorld,接下来我们就来实现经典的Hello World 1、layout 文件 <?xm
更多内容请查看:BizTalk动手实验系列目录 BizTalk 开发系列 之前根据BizTalk的订阅原理,使用BizTa
我们在<QuickLearn BizTalk系列之"Hello World">里讲到了如何快速的开发第一个BizTalk 应用程
用C++开发WM应用系列文章索引 引言:   其实,在很久之前,就想涉足Native C++的WM开发,无奈自身
学习开发语言的时候很喜欢输出“Hello World”作为第一个程序。今天我们也在BizTalk 上创建一个简单
1.前言 该Demo的分析参考了mapdigit的关于Api Demos的文章,我在他的基础上更进一步分析了相关知识
1.前言 该Demo的分析参考了mapdigit的关于Api Demos的文章,我在他的基础上更进一步分析了相关知识点
在做FMS开发中,flash客户端与FMS服务器通信交互数据等是常见的,比如flash客户端需要一播放一个视
在做FMS开发中,flash客户端与FMS服务器通信交互数据等是常见的,比如flash客户端需要一播放一个视
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号