`
web
  • 浏览: 27558 次
  • 性别: 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入门实例,导入MyEclipse就可以直接运行,包含服务端和客户端如何请求,绝对分有所致,快速入门

    Hessian学习入门实例

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

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

    纯Hessian的入门例子教程,还有Hessian和Spring整合的例子教程。 代码上传之前都运行通过的

    JAVA上百实例源码以及开源项目源代码

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    JAVA上百实例源码以及开源项目

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    java开源包1

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包2

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包3

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包6

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包5

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包10

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包8

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包7

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包9

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包101

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包11

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包4

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    Java资源包01

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

Global site tag (gtag.js) - Google Analytics