一、什么是Hessian
Hessian 是一个基于 binary-RPC 实现的远程通讯library。使用二进制传输数据。 Hessian通常通过Web应用来提供服务,通过接口暴露。 Servlet和Spring的DispatcherServlet都可以把请求转发给Hessian服务。 由以下两种方式提供,分别为: com.caucho.hessian.server.HessianServlet org.springframework.web.servlet.DispatcherServlet 二、入门案例 Hessian的主要功能是完成不同系统之间的数据交互,要完成以上功能就要设计到提供数据的一方和接收数据的一方,那我们将提供数据的一方称为服务端,获取数据的一方称为客户端。具体服务端和客户端的具体编写如下:
服务端 第一步:创建一个web项目,并导入hessian的jar包: hessian-4.0.33.jar 第二步:创建一个接口 [Java] 纯文本查看 复制代码 public interface HelloService {
public String sayHello(String name);
public List<User> findAllUser();
}
第三步:提供上面接口的实现类 [Java] 纯文本查看 复制代码 public class HelloServiceImpl implements HelloService{
public String sayHello(String name) {
System.out.println("sayHello方法被调用了");
return "hello " + name;
}
public List<User> findAllUser() {
List<User> list = new ArrayList<User>();
list.add(new User(1, "小王"));
list.add(new User(2,"小白"));
return list;
}
}
第四步:在web.xml中配置服务 [XML] 纯文本查看 复制代码 <servlet>
<servlet-name>hessian</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>home-class</param-name>
<param-value>cn.itcast.service.HelloServiceImpl</param-value>
</init-param>
<init-param>
<param-name>home-api</param-name>
<param-value>cn.itcast.service.HelloService</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>hessian</servlet-name>
<url-pattern>/hessian</url-pattern>
</servlet-mapping>
客户端 第一步:创建一个客户端项目,并导入hessian的jar包 第二步:创建一个接口(和服务端接口对应) [Java] 纯文本查看 复制代码 public interface HelloService {
public String sayHello(String name);
public Object findAllUser();
}
第三步:使用hessian提供的方式创建代理对象调用服务 [Java] 纯文本查看 复制代码 HessianProxyFactory factory = new HessianProxyFactory();
String url = “http://ip:port/项目名/hessian”;
HelloService proxy = (HelloService) factory.create(HelloService.class, url);
String ret = proxy.sayHello("test");
System.out.println(ret);
Object users = proxy.findAllUser();
System.out.println(users);
|