`
julylin
  • 浏览: 49750 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

HESSION的使用

    博客分类:
  • J2EE
阅读更多
HESSION简介:
    Hessian 是由 caucho 提供的一种开源的远程通讯协议。 Hessian 采用二进制 RPC 协议,基于 HTTP 传输,服务器端不用开放防火墙端口。 Hessian 协议的规范是公开的,可以用于任意语言
服务器端:
/**
 * @author user
 * 
 */
public interface IBasic {
	/**
	 * 测试字符串
	 * 
	 * @return string
	 */
	public String hello();

	/**
	 * 取一辆汽车 测试对象传递
	 * 
	 * @return car
	 */
	public Car getCar();
}


/**
 * @author user
 * 
 */
public class Car implements java.io.Serializable {

	/**
	 * 一定要实现Serializable因为要远程传输
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 */
	private String color;
	/**
	 * 
	 */
	private String length;
	/**
	 * 
	 */
	private String name;

	/**
	 * @return the color
	 */
	public String getColor() {
		return color;
	}

	/**
	 * @param color the color to set
	 */
	public void setColor(String color) {
		this.color = color;
	}

	/**
	 * @return the length
	 */
	public String getLength() {
		return length;
	}

	/**
	 * @param length the length to set
	 */
	public void setLength(String length) {
		this.length = length;
	}

	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}

	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}

	/*
	 * toString method
	 */
	@Override
	public String toString() {
		StringBuffer sb = new StringBuffer(512);
		sb.append("Car[");
		sb.append("\n    color=").append(this.color);
		sb.append("\n    length=").append(this.length);
		sb.append("\n    name=").append(this.name);
		sb.append("\n]");
		return sb.toString();
	}

}

package com.comtop.christ.commcomponent.hessian;

/**
 * @author user
 * 
 */
public class BasicService implements IBasic {

	/**
	 * 
	 */
	private final String hello = "Hello, world";

	public String hello() {
		return hello;
	}

	public Car getCar() {
		Car car = new Car();
		car.setColor("RED红色");
		car.setLength("2400");
		car.setName("HAHACHE");
		return car;
	}

}

客户端:
package com.comtop.christ.commcomponent.hessian;

import java.net.MalformedURLException;

import com.caucho.hessian.client.HessianProxyFactory;

/**
 * @author user
 * 
 */
public class test {

	/**
	 * hessian服务器测试类
	 * 
	 * @param args
	 */
	public static void main(String[] args) {

		String url = "http://10.10.20.101:7070/web/hessian";
		HessianProxyFactory factory = new HessianProxyFactory();
		try {
			IBasic hello = (IBasic) factory.create(IBasic.class, url);
			System.out.println(hello.hello());
			System.out.println(hello.getCar());
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
	}
}

配置:
<!-- hession -->
	<servlet>
         <servlet-name>hessianService</servlet-name>
               <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
         <init-param>
                <param-name>service-class</param-name> 
                <param-value>com.comtop.christ.commcomponent.hessian.BasicService</param-value> 
         </init-param>
	</servlet>
	<servlet-mapping>
	         <servlet-name>hessianService</servlet-name>
	         <url-pattern>/hessian</url-pattern> 
	</servlet-mapping>


参考URL:http://blog.csdn.net/zhtang0526/archive/2009/11/09/4788879.aspx
使用包:hession-4.0.7.jar
分享到:
评论

相关推荐

    hessian使用小例子

    同时,由于Hessian使用二进制格式,相比于基于文本的协议(如SOAP),它在网络传输上的效率更高。 总的来说,Hessian是一种强大的工具,特别适用于需要快速、低开销的Java远程调用场景。通过这个简单的示例,我们...

    Hessian 使用小结

    **独立使用Hessian** 在不依赖任何框架的情况下,使用Hessian的步骤如下: 1. **添加依赖**:首先,客户端和服务端都需要引入Hessian的jar包,以便使用其提供的API和功能。 2. **服务端设置**:在服务端,需要...

    hessian 使用实例

    在使用Hessian前,需要在项目中引入Hessian的相关依赖。对于Java项目,可以通过Maven或Gradle添加Hessian的jar包。例如,在Maven的pom.xml文件中添加如下依赖: ```xml &lt;groupId&gt;com.caucho&lt;/groupId&gt; ...

    hessian 使用

    此例子有两个工程,hessianServer(服务端工程),hessianClient(客户端工程),把 hessianServer工程 启动之后就可以通过 hessianClient 访问 服务端的服务了。

    Hessian

    1. **二进制编码**:Hessian使用高效的二进制编码,对数据类型进行压缩,减少了在网络上传输的数据量,从而提高了效率。 2. **简单类型支持**:Hessian支持基本的Java数据类型,如整型、浮点型、字符串、日期等,...

    hessian学习基础篇——序列化和反序列化

    这对于优化自定义序列化逻辑或者解决Hessian使用中遇到的问题非常有帮助。 总结起来,Hessian是一种高效、轻量级的二进制序列化协议,特别适合于跨语言的网络通信。理解并掌握Hessian的基本概念和使用方法,能够...

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

    1. **二进制序列化**:Hessian使用高效的二进制格式进行序列化和反序列化,与XML或JSON相比,这种格式的数据体积更小,网络传输更快。 2. **类型安全**:Hessian支持各种数据类型,包括基本类型、对象、数组和映射...

    hessian

    1. **二进制格式**:Hessian使用紧凑的二进制格式,相比基于文本的协议如XML-RPC或SOAP,数据传输量更小,解析速度更快。 2. **动态类型**:Hessian支持动态类型,这意味着服务端和客户端无需预先定义接口或数据结构...

    使用hessian进行服务器-客户端通讯

    在这个案例中,提供的"压缩包子文件的文件名称列表"——"hessian使用案例",很可能包含了服务器端和客户端的代码示例。这些示例可能包括了服务器端的服务接口和实现、web.xml配置、客户端的HessianProxyFactory使用...

    Java Hessian小试(转)

    1. **二进制编码**:与XML或JSON等文本格式相比,Hessian使用二进制编码,占用更少的网络带宽,提高了数据传输速度。 2. **自动类型检测**:Hessian能自动检测和编码各种数据类型,包括基本类型、对象、数组、日期、...

    Hessian与spring整合

    6. **性能优化**:由于Hessian使用二进制编码,相比基于XML的SOAP协议,其传输效率更高。但为了进一步优化性能,我们还可以考虑使用HTTP压缩、连接池等技术。 7. **安全考虑**:在实际应用中,我们需要对Hessian...

    hessian简单实例

    - **二进制格式**:Hessian使用高效的二进制格式,而不是文本格式如JSON或XML,这使得数据传输更快,占用带宽更少。 - **跨语言支持**:Hessian不仅支持Java,还支持其他语言如C++,Python等,这使得多语言间的...

    spring hessian的使用

    - Hessian使用二进制格式传输数据,相比XML-RPC或SOAP,它的传输效率更高,占用带宽更少。 - Hessian支持类型序列化,包括基本类型、对象、数组和集合等,使得跨语言通信成为可能。 4. **源码和工具**: - 在...

    Hessian源代码

    1. **二进制格式**:与基于文本的HTTP协议不同,Hessian使用二进制格式传输数据,这使得它在处理大数据量时具有更高的效率和更小的带宽占用。 2. **自动类型转换**:Hessian能够自动识别并转换各种数据类型,如字符...

    hessian入门小例子

    Hessian使用二进制格式来序列化对象,相比XML或JSON等文本格式,它的传输效率更高,占用的网络带宽更少。这种协议特别适合于需要频繁进行远程通信的微服务架构。 在这个例子中,"service"指的是Hessian服务端,它会...

    hessian学习实例

    在这个“hessian学习实例”中,我们将深入探讨Hessian框架的使用,特别是如何将其与Spring框架集成,以及如何构建server端和client端。 首先,让我们理解Hessian的工作原理。Hessian基于HTTP协议,它将Java对象序列...

    Hessian Binary Web Service Protocol远程接口调用入门Demo

    与XML-RPC相比,Hessian使用二进制编码,因此在网络传输时占用的带宽更少,解析速度更快。此外,Hessian支持Java、C++、Python等多种编程语言,具有良好的跨平台性。对于需要频繁交互且数据量不大的Web服务,Hessian...

    hessian jar包

    1. **二进制格式**:Hessian使用高效的二进制格式,而不是文本格式如XML或JSON,这减少了在网络上传输的数据量,提高了传输速度。 2. **自动类型转换**:Hessian能够自动处理不同语言和平台之间的类型转换,简化了跨...

    Hessian 入门介绍

    1. **二进制格式**: Hessian使用二进制格式进行数据序列化和反序列化,与XML或JSON等文本格式相比,其数据体积更小,解析速度更快。 2. **RPC协议**: Hessian基于HTTP协议,提供了一种轻量级的远程调用方式,使得...

    Hessian学习笔记

    1. **二进制序列化**:Hessian使用高效的二进制格式进行序列化和反序列化,与基于文本的序列化协议(如JSON或XML)相比,它能显著减少网络传输的数据量。二进制序列化的优势在于数据紧凑,解析速度快,但同时也降低...

Global site tag (gtag.js) - Google Analytics