`

Hessian学习(二)——Hessian开发框架搭建

 
阅读更多

一、搭建服务端

准备:hessian-4.0.33.jar

1. 新建一个web工程:HessianTest;

2. 将hessian-4.0.33.jar导入到HessianTest工程中;

3. 新建3个package:bean、serviceimpl,分别作为java bean类、接口、接口实现类的包;

以上步骤完成之后,工程结构如下:

 

代码如下:

HelloWorld.java

package com.suning.hessian.bean;

import java.io.Serializable;

/**
 * 序列化bean
 *
 * @author guweiqiang
 * @date 2017年10月31日
 */
public class HelloWorld implements Serializable {

	private static final long serialVersionUID = 7665113881604069023L;

	private long id;
	private String name;
	private int age;

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "HelloWorld [id=" + id + ", name=" + name + ", age=" + age + "]";
	}

}

 HessianService.java

package com.suning.hessian.service;

import com.suning.hessian.bean.HelloWorld;

/**
 * 定义对外提供服务的接口
 *
 * @author guweiqiang
 * @date 2017年10月31日
 */
public interface HessianService {

	HelloWorld sayHelloWorld();  
	
}

 HessianServiceImpl.java

package com.suning.hessian.impl;

import com.suning.hessian.bean.HelloWorld;
import com.suning.hessian.service.HessianService;

/**
 * HessianService接口实现类
 *
 * @author guweiqiang
 * @date 2017年10月31日
 */
public class HessianServiceImpl implements HessianService {

	@Override
	public HelloWorld sayHelloWorld() {
		HelloWorld helloWorld = new HelloWorld();
		helloWorld.setId(1l);
		helloWorld.setName("guweiqiang");
		helloWorld.setAge(22);
		return helloWorld;
	}

}

 4.添加web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
	<display-name>testHessian</display-name>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>

	<servlet>
		<!-- 配置 HessianServlet,Servlet的命名任意 -->
		<servlet-name>ServiceServlet</servlet-name>
		<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>

		<!-- 配置接口的具体实现类 ,param-name命名任意 -->
		<init-param>
			<param-name>service-class</param-name>
			<param-value>com.suning.hessian.impl.HessianServiceImpl</param-value>
		</init-param>
	</servlet>
	<!-- 映射 HessianServlet的访问URL地址 -->
	<servlet-mapping>
		<servlet-name>ServiceServlet</servlet-name>
		<url-pattern>/ServiceServlet</url-pattern>
	</servlet-mapping>

</web-app>

 最后将工程添加到tomcat,并启动tomcat,输入:

http://localhost:8080//HessianTest/ServiceServlet

如果显示如下,说明hessian服务端启动成功:

 

二、编写测试客户端:

TestHessian.java

package com.suning.hessian;

import java.net.MalformedURLException;

import com.caucho.hessian.client.HessianProxyFactory;
import com.suning.hessian.bean.HelloWorld;
import com.suning.hessian.service.HessianService;

/**
 * hessian测试客户端
 *
 * @author guweiqiang
 * @date 2017-10-31
 */
public class TestHessian {
	
	public static final String url = "http://127.0.0.1:8080/HessianTest/ServiceServlet"; 

	public static void main(String[] args) {
		HessianProxyFactory factory = new HessianProxyFactory();
		HessianService service = null;  
		try {
			service = (HessianService) factory.create(HessianService.class, url);}   
	    catch (MalformedURLException e) {  
	        e.printStackTrace();
	    }  
    	//创建IService接口的实例对象   
    	HelloWorld helloWorld = service.sayHelloWorld();  
    	//调用Hessian服务器端的ServiceImpl类中的toString方法
    	System.out.println(helloWorld.toString());
	}
}

 执行结果如下:

HelloWorld [id=1, name=guweiqiang, age=22]

至此hessian服务端和客户端搭建完成。

 

 

  • 大小: 16.4 KB
  • 大小: 8.7 KB
分享到:
评论

相关推荐

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

    本文将深入探讨Hessian框架的基础知识,它是一个高效的二进制序列化协议,广泛应用于Java和.NET之间跨语言通信。通过学习Hessian,我们可以更有效地处理数据传输,提高应用性能。 首先,让我们理解什么是序列化。...

    Hessian 学习 例子 实例

    Hessian由Caucho Technology开发,其目标是提供轻量级、高效的通信方式,特别是在网络带宽有限的情况下。下面我们将深入探讨Hessian的学习、实例以及其在实际应用中的使用。 首先,Hessian的吸引力在于它的二进制...

    Hessian学习简单demo

    Hessian是一种二进制协议,它被设计用于提高远程调用的效率,特别是在Java和C++之间进行跨语言通信时。Hessian的目标是提供一种快速、简洁的数据序列化和远程方法调用(RPC)机制。在这个简单的demo中,我们将探讨...

    hessian学习实例

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

    Flex + Hessian 学习笔记(二)

    在"Flex + Hessian 学习笔记(二)"中,我们可能涉及以下几个关键知识点: 1. **Flex客户端开发**:Flex项目通常使用MXML和ActionScript编写,MXML用于声明式地构建UI,而ActionScript则用于编写应用程序逻辑。开发者...

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

    Hessian是由Caucho Technology公司开发的一种二进制RPC(Remote Procedure Call)协议,它能够将Java对象序列化为高效的二进制格式,从而显著减少网络传输的数据量。Hessian支持HTTP协议,可以轻松地集成到现有的Web...

    Hessian学习笔记

    综上所述,学习Hessian需要掌握二进制序列化技术,理解远程方法调用的概念,熟悉Hessian的实现和使用,并关注安全性、性能优化等方面的问题。同时,通过阅读源码和实践项目,可以更深入地理解这个协议的精髓。

    Hessian学习入门实例

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

    基于spring+hessian框架的webservice实例

    Hessian是一种二进制Web服务协议,由Caucho公司开发。它提供了一种高效的RPC(Remote Procedure Call)机制,允许Java对象在HTTP上进行远程调用,其优点在于传输速度快、序列化效率高。Hessian支持多种语言,包括...

    Hessian远程调用框架学习一

    Hessian是由Caucho Technology开发的一种二进制Web服务协议,它提供了对Java对象序列化和反序列化的支持,使得远程调用如同本地调用一样快速和简单。与传统的XML-RPC或SOAP相比,Hessian的序列化格式更为紧凑,因此...

    hessian-4.0.33.jar

    Hessian是一种高效的二进制RPC(Remote Procedure Call)协议,由Caucho Technology开发,旨在提供轻量级、高效的远程调用服务。在这个专题中,我们将以hessian-4.0.33.jar为例,详细探讨Hessian框架的核心特性和...

    闲着没事Hessian开发WebService的总结(一)

    标题中的“闲着没事Hessian开发WebService的总结(一)”表明这是一篇关于使用Hessian框架开发Web服务的文章,作者可能在其中分享了个人的经验和理解。Hessian是一种轻量级的远程调用协议,它允许Java和.NET之间进行...

    Hessian

    Hessian是一种二进制Web服务协议,它由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用(Remote Method Invocation,RMI)服务。Hessian的目标是简化分布式系统之间的通信,通过减少网络传输的...

    hessian案例,hessian案例

    1. **Hessian简介**:Hessian是由Caucho Technology开发的一种二进制Web服务协议,它提供了简洁、快速的数据传输方式,尤其适用于低带宽环境。Hessian支持RPC模式,允许服务端和客户端之间进行方法调用。 2. **Java...

    Hessian的学习笔记

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

    hessian轻量级 rpc实现

    Hessian,由Caucho Technology开发,是一款轻量级、高效的RPC框架,它基于HTTP协议,以二进制格式传输数据,从而降低了网络通信的开销。本文将深入探讨Hessian在RPC实现中的原理、特点以及如何在实际项目中应用。 ...

    基于Hessian矩阵增强的心血管分割_hessian_hessian血管_hessian血管分割_血管分割_Hessian矩阵

    在IT领域,尤其是在医学图像分析中,Hessian矩阵是一个重要的数学工具,用于图像特征检测,特别是在血管分割的...通过理解和应用Hessian矩阵,可以开发出高效、精确的自动分割算法,这对医学图像分析领域具有重大意义。

    dubbo-hessian协议http请求demo(java)

    - 在实际开发中,我们可能会需要编写一些辅助工具类来处理Hessian的相关操作,例如Hessian2Input和Hessian2Output,它们用于读写Hessian序列化的二进制流。 6. **安全性与优化**: - 虽然Hessian协议效率高,但其...

Global site tag (gtag.js) - Google Analytics