HESSION简介:
Hessian 是由 caucho 提供的一种开源的远程通讯协议。 Hessian 采用二进制 RPC 协议,基于 HTTP 传输,服务器端不用开放防火墙端口。 Hessian 协议的规范是公开的,可以用于任意语言
服务器端:
客户端:
配置:
参考URL:http://blog.csdn.net/zhtang0526/archive/2009/11/09/4788879.aspx
使用包:hession-4.0.7.jar
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