Hessian是一个简单的连接Web服务的二进制协议。
Hessian概述:
一.客户端和服务端不依赖于其他任何jar,比起webService 它显得轻量许多,比如使用xfire包含核心库和客户端的jar,大小达到了10M ,而最新的hessian-4.0.7 jar大小也只有不到400K.
二.更适合二进制的传输,比起webService.Hessian的 传输速度要高于webService.
三.支持Java,c#,Flex(actionscrpit)
一. 添加Hessian的jar于Web-Inf下. 这里使用的是hessian-4.0.7,下载地址: http://download.csdn.net/source/3159260
二. 定制供客户端调用的接口:
- package com.wtang.isay;
- public interface Isay {
- public String sayHello(String arg1,String arg2);
- }
三. 接口具体实现(如果使用了pojo类,pojo类必须实现序列化)
- package com.wtang.isay;
- public class IsayImpl implements Isay {
- public String sayHello(String arg1, String arg2) {
- return "Hello:" + arg1 + arg2;
- }
- }
四. 配置Hessian的Servlet[类似于配置webService的service.xml]
- <servlet>
- <servlet-name>hello</servlet-name>
- <!-- 配置Hessian的Servlet -->
- <servletclass>com.caucho.hessian.server.HessianServlet</servlet-class>
- <init-param>
- <param-name>service-class</param-name>
- <param-value>com.wtang.isay.IsayImpl</param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name>hello</servlet-name>
- <url-pattern>/hello</url-pattern>
- </servlet-mapping>
五. 书写服务端的测试jsp页面[HessianProxyFactory类似于xifre的XFireProxyFactory]
- <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
- <%@ page import="com.caucho.hessian.client.HessianProxyFactory"%>
- <%@ page import="com.wtang.isay.Isay"%>
- <%
- //Hessian代理工厂
- HessianProxyFactory factory = new HessianProxyFactory();
- //获得访问配置的Servlet路径
- String url=("http://"+request.getServerName()+":"+request.getServerPort()
- +request.getContextPath()+"/hello");
- System.out.println(url);
- //使用Hessian工厂获得接口的具体实现类
- Isay i = (Isay)factory.create(Isay.class,url);
- out.println("<h2>"+i.sayHello("chen","weitang")+"<h2>");
- %>
输出Hello:cheweitang