通过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();
}