`

Hessian学习笔记之Hessian实例

    博客分类:
  • Java
阅读更多

1.简介

     Hessian是一个轻量级的remoting on http工具,通过简单的方法提供了RMI的功能。 与WebService相比较而言,Hessian更简单、快捷。

     Hessian采用的是二进制的RPC协议,正是因为它采用的是二进制协议,所以它很适合于发送二进制数据。

 

2.实例讲解

   服务端:

              a.下载hessian.jar,链接地址:http://hessian.caucho.com/#Java,选择所需要的版本。

              b.在开发服务端的时候是web工程。

              c.代码实现如下:                        

        public interface MyHessianInterface {
             public void say(String str);
             public String hello();
             public PeopleInfo getUser();
        }       
public class MyHessian implements MyHessianInterface {
    private String str = "Hello Hessian" ;
    
	@Override
	public void say(String str) {
		this.str = str ;
		System.out.println("setting say success: " + str);
	}

	@Override
	public String hello() {		
		return str;
	}

	@Override
	public PeopleInfo getUser() {
		return new PeopleInfo("Apple","apple@1234");
	}
}        
public class PeopleInfo implements Serializable {
	private static final long serialVersionUID = -1938252045479387918L;
	
	private String people_name = "Hessian" ;
        private String people_password = "hessian@1234";
    
        public PeopleInfo(String people_name,String people_password){
    	    this.people_name = people_name ;
    	    this.people_password = people_password;
        }
    
        public String getPeopleName(){
    	   return people_name ;
        }
    
        public String getPeoplePassword(){
    	   return people_password ;
        }
   }

                 

             d.web.xml配置文件如下:                 

<?xml version="1.0"  encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://java.sun.com/xml/ns/javaee" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
         id="WebApp_ID"  version="3.0">
  <servlet>
     <servlet-name>hessian</servlet-name>
     <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
     <init-param>
        <param-name>service-class</param-name>
        <param-value>com.zh.hessian.MyHessian</param-value>
     </init-param>  
  </servlet>
  
  <servlet-mapping>
     <servlet-name>hessian</servlet-name>
     <url-pattern>/hessian</url-pattern>
  </servlet-mapping>
</web-app>

   

    客户端:

             a.必须加载hessian.jar

             b.在开发客户端的时候是Java工程

             c.代码实现:                      

public interface HessianClientInteface {
   public void say(String str);
   public String hello();
   public PeopleInfo getUser();
}
public class PeopleInfo implements Serializable {
	private static final long serialVersionUID = 8268991521882061845L;
	
	private String people_name = "hello hessian" ;
	private String people_password = "hello hessian@1234" ;
	
	public PeopleInfo(String people_name,String people_password){
		this.people_name = people_name ;
		this.people_password = people_password ;
	}
	
	public String getPeopleName(){
		return people_name ;
	}
	
	public String getPeoplePassword(){
		return people_password ;
	}	
} 
public class MyHessianClient {
   public static void main(String[] args) throws Exception{
	   String url = "http://127.0.0.1:8080/JavaDemo/hessian" ;
	   HessianProxyFactory factory = new HessianProxyFactory();
	   HessianClientInteface hc = (HessianClientInteface)factory.create(HessianClientInteface.class,url);
	   System.out.println("hello: " + hc.hello());
	   System.out.println("name: " + hc.getUser().getPeopleName());
	   System.out.println("password: " + hc.getUser().getPeoplePassword());
	   
	   hc.say("sssss");
	   System.out.println("say: " + hc.hello());
   }
}

 

3.测试结果

       先启动tomcat服务,然后在运行客户端的程序,最后在控制台查看结果。例如,示例上所示,最后的结果如下:

      Client:

              hello: Hello Hessian

       name: Apple

       password: apple@1234

       say: sssss

Server:

       setting say success: sssss

 

 

    

27
11
分享到:
评论

相关推荐

    Flex + Hessian 学习笔记(二)

    这篇学习笔记将深入探讨这两个技术,并通过实例代码解析它们的工作原理。 Flex是Adobe开发的一个开源框架,主要用于创建交互式、高性能的RIA,通常基于ActionScript编程语言和Flash Player或Adobe AIR运行时。Flex ...

    Hessian的学习笔记

    Hessian学习笔记 Hessian是一种基于Binary-RPC协议实现的远程通讯library,由Caucho提供。下面是Hessian的学习笔记: 一、简介 Hessian是基于Binary-RPC协议实现的远程通讯library,用于实现远程过程调用(RPC)...

    Hessian 学习 例子 实例

    下面我们将深入探讨Hessian的学习、实例以及其在实际应用中的使用。 首先,Hessian的吸引力在于它的二进制格式,这使得数据在网络上传输时占用更少的带宽。相比于XML或JSON等文本格式,二进制格式的数据通常更小,...

    WebService另一种轻量级实现—Hessian 学习笔记.rar

    **WebService的轻量级实现——Hessian学习笔记** 在IT行业中,WebService作为一种常见的跨平台、跨语言的通信机制,被广泛应用于系统间的交互。然而,传统的SOAP(Simple Object Access Protocol)协议实现的...

    Hessian学习笔记

    4. **Hessian客户端和服务器实现**:理解如何在Java或其他支持的语言中实现Hessian客户端和服务端是学习的关键。这包括创建服务端的HessianServlet,以及客户端的HessianProxyFactory,用于创建远程服务的代理对象。...

    hessian学习实例

    在这个“hessian学习实例”中,我们将深入探讨Hessian框架的使用,特别是如何将其与Spring框架集成,以及如何构建server端和client端。 首先,让我们理解Hessian的工作原理。Hessian基于HTTP协议,它将Java对象序列...

    Hessian学习入门实例

    这是一个Hessian入门学习的实例,程序包是一个web工程,使用intellij idea + Maven开发,其中通过两个方式展示了使用Hessian实现RMI的原理,一个是访问jsp页面,一个是在代码中手工创建client。对于Hessian Servlet...

    hessian学习基础篇——序列化和反序列化

    通过学习Hessian,我们可以更有效地处理数据传输,提高应用性能。 首先,让我们理解什么是序列化。序列化是将对象的状态转换为可存储或可传输的形式的过程。在Java中,如果一个类实现了Serializable接口,那么该类...

    Hessian实例下载

    标题提及的“Hessian实例下载”意味着这个压缩包包含了使用Hessian协议的示例代码和必要的库文件,方便开发者快速理解和学习如何在自己的项目中集成Hessian。描述中提到的网站地址是Hessian的官方主页,该页面提供了...

    Hessian学习简单demo

    Hessian是一种二进制协议,它被设计用于提高远程调用的...通过学习和实践这个Hessian demo,你将能够更好地应对涉及远程调用和数据交换的问题。无论是Java开发者还是C++开发者,Hessian都是值得了解和掌握的一项技术。

    Flex + Hessian 留言本

    Flex + Hessian 学习笔记(一) http://wangcheng.javaeye.com/blog/141382 Flex + Hessian 学习笔记(二) http://wangcheng.javaeye.com/blog/141539 Flex + Hessian 学习笔记(三) ...

    Hessian工程实例

    Hessian工程实例主要涉及到的是Java服务端与客户端之间的高效远程通信技术。Hessian是由Caucho Technology开发的一种二进制RPC(Remote Procedure Call)协议,它允许Java对象以高效的二进制格式在网络间进行传输,...

    flex-hessian-java实例.rar

    学习这个实例,你将了解到如何设置Hessian服务,配置Flex客户端连接,以及如何处理数据传输。这有助于你在构建分布式系统时,利用Flex和Java的优势,提供高性能、低延迟的跨平台通信解决方案。通过实践这些步骤,你...

    hessian简单实例

    在“hessian简单实例”中,我们有两个关键部分:`hessian-server`和`hessian-client`。`hessian-server`是服务端程序,它实现了我们需要暴露给客户端调用的方法;而`hessian-client`则是客户端程序,它负责连接到...

    flex中hessian实例

    总的来说,Flex中的Hessian实例涉及到了客户端与服务器之间的高效通信、ActionScript与Java的互操作、数据传输优化,以及图表组件的使用等多个方面,是Flex开发中的重要技能。深入理解和实践这些知识点,将有助于...

    hessian使用小例子

    3. 在客户端,我们需要创建一个HessianProxyFactory实例来获取服务的代理对象,然后就可以调用远程方法了: ```java import com.caucho.hessian.client.HessianProxyFactory; public class Client { public ...

    利用hessian进行系统通信实例教程

    这个实例教程对于新手来说,是一个很好的起点,能够帮助你快速理解和实践Hessian的基本用法。在实际项目中,你还可以根据需要对安全性、性能等方面进行优化,比如添加认证机制、调整序列化策略等。

    hessian包及一个简单的使用实例

    这里我们提供了一个使用Hessian 4.0.37的简单实例,包括服务器端和客户端的创建。 #### 服务器端(Server) 首先,定义一个服务接口和其实现: ```java public interface HelloWorldService { String sayHello...

Global site tag (gtag.js) - Google Analytics