work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Java Hessian实践

Posted on 2019-05-22 11:34  work hard work smart  阅读(526)  评论(0编辑  收藏  举报

Hessian是基于HTTP的轻量级远程服务解决方案,Hessian向RMI一样,使用二进制进行客户端和服务端的交互。但是与其它二进制远程调用技术(例如RMI)不同的是,它的二进制消息可以移植到其它非Java语言中。

一、创建Hessian程序的4个步骤

1、定义一个远程调用接口

2、实现远程调用接口

3、在web.xml 中定义导出hessian服务需要的信息。

4、客户端调用

 

二、具体实现

1、定义一个远程调用接口

public interface IStudent {
	
	void sayHey(String name);
}

  

2、实现远程调用接口

public class StudentImpl implements IStudent{

	
	public void sayHey(String name) {
		System.out.println("Hello," + name);
	}

}

  

 

3、在web.xml 中定义导出hessian服务需要的信息。

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  
  <servlet>
  	<servlet-name>HessianServlet</servlet-name>
  	<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
  	<init-param>
  		<param-name>service-class</param-name>
  		<param-value>com.demo.hessian.service.StudentImpl</param-value>
  	</init-param>
  </servlet>
  <servlet-mapping>
  	<servlet-name>HessianServlet</servlet-name>
  	<url-pattern>/hessian</url-pattern>
  </servlet-mapping>
</web-app>

  pom.xml中引入Hessian

	<dependency>
		<groupId>com.caucho</groupId>
		<artifactId>hessian</artifactId>
		<version>4.0.38</version>
	</dependency>

  

 

4、客户端调用

public class HessianClient {

	public static void main(String[] args) {
		try {
			String url = "http://localhost:8080/shengsiyuan/hessian";
			HessianProxyFactory factory = new HessianProxyFactory();
			factory.setOverloadEnabled(true);
			IStudent student = (IStudent)factory.create(IStudent.class, url);
			student.sayHey("Nick");
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
	
}  

显示结果

Hello,Nick