zoukankan      html  css  js  c++  java
  • Java Hessian实践

    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
    

      

  • 相关阅读:
    PHP 命令行参数解析工具类
    【日本软件外包】设计书中常用到的文型
    php沙盒测试 http://sandbox.onlinephpfunctions.com/ SQL语句格式化 https://www-atl.blog.so-net.ne.jp/2015-02-08
    intra-mart
    maven安装和eclipse集成
    MyEclipse破解
    pdf 中画虚线
    方法名同类名相同如果没有__construct,会被当做构造函数。
    ESA2GJK1DH1K微信小程序篇: 源码使用注意事项和程序优化
    GPRS(Air202) Lua开发: OLED显示二维码,信号强度,电池电量
  • 原文地址:https://www.cnblogs.com/linlf03/p/10904928.html
Copyright © 2011-2022 走看看