`
julylin
  • 浏览: 47855 次
  • 性别: 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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics