`
web
  • 浏览: 28381 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hessian入门实例

    博客分类:
  • java
阅读更多
在项目中,如果需要发布web服务时,不妨也考虑一下hessian,这么一个轻量简洁的实现方式。以下是一个入门级实例。
1.服务端代码:
IHessian.java:
package hessian;

import java.util.List;
import java.util.Map;

public interface IHessian {
	public String say(String msg);
	public Map getMap();
	public User getUser();
	public List getList();
}

HessianImpl.java
package hessian;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.caucho.hessian.server.HessianServlet;

public class HessianImpl extends HessianServlet implements IHessian{

	public String say(String msg) {
		return "Hello " + msg;
	}

	public Map getMap() {
		Map map = new HashMap();
		map.put("work", "任务");
		return map;
	}
	public User getUser() {
		User user = new User();
		user.setAdd("上海");
		user.setName("刘德华");
		return user;
	}
	
	public List getList() {
		List list = new ArrayList();
		list.add("a");
		list.add(getUser());
		list.add(getMap());
		return list;
	}
}

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	version="2.4"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

	<servlet>
		<servlet-name>ihessian</servlet-name>
		<servlet-class>hessian.HessianImpl</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>ihessian</servlet-name>
		<url-pattern>/hessian.ao</url-pattern>
	</servlet-mapping>
</web-app>

2.客户端代码
package hessian;

import java.net.MalformedURLException;

import com.caucho.hessian.client.HessianProxyFactory;

public class TestHessian {

	public static void main(String[] args) {
		String url = "http://localhost:8080/hessian/hessian.ao";
		HessianProxyFactory factory = new HessianProxyFactory();
		IHessian h = null;
		try {
			h = (IHessian) factory.create(IHessian.class, url);
		} catch (MalformedURLException e) {
			System.out.println("occur exception: " + e);
		}
		System.out.println(h.say("world"));
		System.out.println(h.getMap());
		System.out.println(h.getList());
	}
}




0
0
分享到:
评论
3 楼 sxlnok 2012-04-04  
为什么会报这个错呢?

Hello world
{work=任务}
[a, {Name=刘德华, Add=上海}, {work=任务}]
2012-4-4 16:49:24 com.caucho.hessian.io.SerializerFactory getDeserializer
警告: Hessian/Burlap: 'com.a.e.User' is an unknown class in sun.misc.Launcher$AppClassLoader@1372a1a:
java.lang.ClassNotFoundException: com.a.e.User



求解
2 楼 yangtao309 2009-12-23  
BOB这么简单啊
不错 有时间也跟你学学
想不到 我浏览别个的blog看到你了
1 楼 grandboy 2009-11-09  
Hessian是一个好东西,我很喜欢。

相关推荐

    hessian入门实例,导入就可以直接运行

    这个"**hessian入门实例**"旨在帮助初学者快速理解并应用Hessian技术,通过导入到MyEclipse这样的集成开发环境中,可以直接运行示例代码,从而直观地了解Hessian的工作原理。 首先,我们要理解什么是RPC。RPC允许一...

    轻量级远程服务调用Hessian的入门实例和与Spring整合的实例.zip

    一、Hessian入门实例 Hessian的入门实例主要展示了如何创建一个简单的服务提供者和消费者。首先,我们需要定义一个服务接口,例如`HelloService`,包含一个或多个方法,这些方法将被远程调用。然后,我们需要实现这...

    Hessian学习入门实例

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

    dubbo+zookeeper入门实例

    【标题】"dubbo+zookeeper入门实例"是一个关于使用Dubbo框架与Zookeeper结合实现服务发现和服务调用的基础教程。Dubbo是阿里巴巴开源的一款高性能、轻量级的Java分布式服务框架,而Zookeeper则是一个分布式服务协调...

    dubbo入门实例

    【Dubbo入门实例详解】 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的服务框架,它致力于提供一个简单、高效、可扩展的分布式服务解决方案。在本入门实例中,我们将通过两个核心组件——`dubboserver`(服务提供...

    dubbo入门实例及性能测试

    在本实例中,我们将探讨如何入门Dubbo并进行性能测试,特别是对比Dubbo集群与在同一JVM内运行的非Dubbo服务的性能差异。 1. **Dubbo入门** - **安装配置**:首先,你需要安装Java环境,并在项目中引入Dubbo依赖。...

    hession之经典入门例子

    《Hession经典入门实例解析》 Hession是一种高效的RPC(Remote Procedure Call)协议,它能够将Java、.NET、Python等语言之间的方法调用转换为HTTP请求,实现跨语言服务调用。本篇文章将深入探讨Hession的基础知识...

    hession入门及注入spring

    【Hession入门及注入Spring】 Hessian是一种轻量级的RPC(Remote Procedure Call)协议,它基于HTTP协议,主要用于提供二进制序列化的远程方法调用。Hessian使得Java对象能够在网络间高效地进行传输,简化了分布式...

    OpenCV3编程入门_毛星云编著_电子工业出版.7z

    特征检测则涉及边缘检测(如Canny、Sobel、Prewitt算子)、角点检测(如Harris、Shi-Tomasi、Hessian矩阵检测)以及关键点检测(如SIFT、SURF、ORB),这些技术在目标识别、追踪等领域有广泛应用。 OpenCV3在机器...

    Dubbo入门教程

    ### Dubbo入门教程知识点梳理 #### 一、电商系统架构演变 ##### 1.1 单一应用架构(ORM) **定义与特点:** - **单一应用架构**是指早期网站流量较小时,为了减少部署节点和成本,所有的功能(如下单、支付等)都被...

    Hessiancsharp

    readme.txt文件通常包含了库的使用指南、注意事项或者快速入门教程。在开始使用Hessiancsharp.dll之前,应该先查阅这个文件,获取如何引入库、如何调用API、可能遇到的问题及解决方案等信息。 为了在C#项目中使用...

    dubbo实例代码

    9. **协议与序列化**:Dubbo支持多种通信协议,如Dubbo协议、HTTP、RMI等,同时提供Hessian、Java序列化等多种序列化方式,用于服务间的通信和数据交换。 10. **服务监控**:Dubbo提供了一套完整的监控体系,可以...

    Dubbo分布式服务框架入门2

    - **协议与序列化**: Dubbo支持多种通信协议(如Dubbo协议、RMI、Hessian等)和序列化方式(如JSON、FastJSON、Hessian2等),可以根据性能和兼容性需求进行选择。 - **监控与日志**: 提供了Dubbo Monitor用于统计...

    dubbo分布式系统入门教学

    《Dubbo分布式系统入门教学》 Dubbo是一个高性能、轻量级的开源Java RPC框架,由阿里巴巴开发并贡献给Apache基金会。它旨在提供一个简单、高效的服务治理解决方案,帮助开发者构建微服务架构。本教学课件将带领你...

    dubbo快速入门

    8. **快速入门实例** 首先,我们需要在项目中引入Dubbo依赖,创建服务提供者和消费者。服务提供者定义接口并实现,通过`@Service`注解暴露服务。服务消费者通过`@Reference`注解引用服务,然后即可调用远程服务。...

    矩阵计算快速入门(matrix cookbook)

    《矩阵计算快速入门》是一本非常有价值的参考书籍,它不仅包含了丰富的矩阵相关知识,还提供了大量的实例和应用指南。无论是初学者还是专业人士,都能从中受益匪浅。通过阅读本书,读者可以迅速掌握矩阵计算的关键...

    Dubbo分布式服务框架入门1

    【Dubbo分布式服务框架入门1】 Dubbo是一个高性能、轻量级的开源Java RPC框架,由阿里巴巴开发并维护,旨在提供简单、高效的服务发现和调用能力,促进微服务架构的发展。Dubbo的核心功能包括服务注册与发现、远程...

    dubbo入门教程

    2. **安装依赖**: 如hessian-lite、opensesame等。 3. **构建工具**: 使用Maven构建工具。 4. **导入IDE**: 将项目导入到Eclipse或IntelliJ IDEA等IDE中。 5. **构建过程**: Maven会自动执行构建过程,包括编译、...

    dubbo简单入门级代码示例

    【标题】"dubbo简单入门级代码示例"所涉及的知识点主要集中在分布式服务框架Dubbo的使用上,以及与之配合的注册中心Zookeeper。Dubbo是一个高性能、轻量级的服务治理框架,广泛应用于微服务架构中。下面将详细阐述这...

Global site tag (gtag.js) - Google Analytics