hessian入门实例

在项目中,如果需要发布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());
	}
}




你可能感兴趣的:(java,.net,Web,xml,Blog)