`
laodaobazi
  • 浏览: 272752 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hessian

阅读更多

通过Hessian对外提供服务

服务器端目录结构:



 

服务器端接口代码:

package com.demo.hessian.service;

import java.util.Map;

public interface HessianBasicAPI {
  public Map<String,String> hello();
}

 服务器端接口实现代码:

package com.demo.hessian.service.impl;

import java.util.HashMap;
import java.util.Map;

import com.caucho.hessian.server.HessianServlet;
import com.demo.hessian.service.HessianBasicAPI;

public class HessianBasicService extends HessianServlet implements HessianBasicAPI {
  
	/**
	 * <p>[内容描述]</p>
	 */
	private static final long serialVersionUID = -2618145277423624392L;
	
  public Map<String,String> hello()
  {
	  java.util.Map<String,String> map = new HashMap<String,String>();
	  map.put("key", "123123123");
    return map;
  }
}

 修改web.xml文件:

<!-- Hessian 对外提供服务 -->
    <servlet>
		<servlet-name>hessian</servlet-name>
		<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
		<init-param>
			<param-name>service-class</param-name>
			<param-value>com.demo.xfire.service.impl.HessianBasicService</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>hessian</servlet-name>
		<url-pattern>/hessian</url-pattern>
	</servlet-mapping>

 

 

 

客户端代码目录结构



 

 

客户端调用服务器端代码实现:

package com.demo.hessian.client;

import java.net.MalformedURLException;
import java.util.Map;

import com.caucho.hessian.client.HessianProxyFactory;
import com.demo.hessian.service.HessianBasicAPI;

public class HessianClientTest {
	
	public static void main(String[] args) {
		String url = "http://localhost:8881/hessian/hessian";

		HessianProxyFactory factory = new HessianProxyFactory();
		try {
			HessianBasicAPI basic = (HessianBasicAPI) factory.create(HessianBasicAPI.class, url);
			Map<String,String> map = basic.hello();
			System.out.println(map.get("key"));
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}

	}

}

 客户端需要知道服务器端的接口:

package com.demo.hessian.service;

import java.util.Map;

public interface HessianBasicAPI {
  public Map<String,String> hello();
}

 

  • 大小: 11.6 KB
  • 大小: 8.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics