Hessian入门(传递集合,对象)

原文:http://blog.csdn.net/chenweitang123/article/details/6334024

Hessian入门(集合,对象)

1.    主要是讲述使用Hessian传递集合以及对象.

2.    传递的对象必须序列化

3.    相比起Webservice,Hessian无需配置xml   (XXX.aegis.xml) 实体Bean的xml文件

4.    简单 轻量 无需多余配置.

 

开发流程:

1.书写实体Bean[必须序列化]

package com.wtang.domain;

import java.io.Serializable;

public class User implements Serializable {
	private static final long serialVersionUID = 21287917233879L;

	private String userName;

	private String password;

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
}

2.定义接口

package com.wtang.isay;

import java.util.List;
import java.util.Map;
import com.wtang.domain.User;

public interface Isay {

	public String sayHello(List<User> list);

	public String sayHi(Map<String, User> map);
}


3.接口具体实现

package com.wtang.isay;

import java.util.Iterator;
import java.util.List;
import java.util.Map;
import com.wtang.domain.User;

public class IsayImpl implements Isay {

	public String sayHello(List<User> list) {

		StringBuffer sb = new StringBuffer();

		for (Iterator iterator = list.iterator(); iterator.hasNext();) {
			User user = (User) iterator.next();
			sb.append(user.getUserName());
			sb.append("==");
			sb.append(user.getPassword());
			sb.append("==");
		}

		return sb.toString();
	}

	public String sayHi(Map<String, User> map) {

		StringBuffer sb = new StringBuffer();

		for (String o : map.keySet()) {
			sb.append(map.get(o).getUserName());
			sb.append("==");
			sb.append(map.get(o).getPassword());
			sb.append("==");
		}

		return sb.toString();
	}
}


 

4.配置Web.xml

<servlet>
	<servlet-name>hi</servlet-name>
	<servletclass>com.caucho.hessian.server.HessianServlet</servlet-class>
	<init-param>
		<param-name>service-class</param-name>
		<param-value>com.wtang.isay.IsayImpl</param-value>
	</init-param>
</servlet>

<servlet-mapping>
	<servlet-name>hi</servlet-name>
	<url-pattern>/hi</url-pattern>
</servlet-mapping>

5.客户端调用

package com.wtang.test;

import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.caucho.hessian.client.HessianProxyFactory;
import com.wtang.domain.User;
import com.wtang.isay.Isay;

public class Test {
	public static void main(String[] args) throws MalformedURLException {
		String url = "http://localhost:8080/HessianCollection/hi";

		HessianProxyFactory factory = new HessianProxyFactory();

		Isay i = (Isay) factory.create(Isay.class, url);

		String result1, result2 = "";

		// List
		List<User> list = new ArrayList<User>();
		User user1 = new User();
		user1.setUserName("chenweitang");
		user1.setPassword("123");

		User user2 = new User();
		user2.setUserName("hello");
		user2.setPassword("world");

		list.add(user1);
		list.add(user2);

		result1 = i.sayHello(list);

		System.out.println("List结果:" + result1);

		// Map
		Map<String, User> map = new HashMap<String, User>();
		map.put(user1.getUserName(), user1);
		map.put(user2.getUserName(), user2);

		result2 = i.sayHi(map);

		System.out.println("Map结果:" + result2);
	}
}

结果:

List结果:chenweitang==123==hello==world==
Map结果:hello==world==chenweitang==123==


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值