Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的
是二进制协议,所以它很适合于发送二进制数据。与Hessian相同功能的还有Http、TCP/IP+NIO、RMI、WebService。
以下是Hessian的一个小例子(下载Hessian jar包):
package com.webservice;
public interface Hello {
String hello(String name);
}
package com.webservice;
public class HelloImpl implements Hello {
public String hello(String name) {
return "hello,"+name+"!欢迎学习Hessian";
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Hessian</display-name> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> <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.webservice.HelloImpl</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>hessianService</servlet-name> <url-pattern>/hessianService</url-pattern> </servlet-mapping> </web-app>
客户端调用:
package com.webservice;
import java.net.MalformedURLException;
import com.caucho.hessian.client.HessianProxyFactory;
public class Client {
/**
* 客户端调用hessian服务
* @param args
*/
public static void main(String[] args) {
String url = "http://localhost:8080/hessianService";
HessianProxyFactory factory = new HessianProxyFactory();
//获得Hessian服务远程引用
try {
Hello hello = (Hello)factory.create(Hello.class, url);
System.out.println(hello.hello("Dwen"));
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
Hessian和Spring整合请见参考:
http://blog.csdn.net/chenweitang123/article/details/6334097
http://lavasoft.blog.51cto.com/62575/191871/