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/