接到通知会在公司闲置一个月,真是开心啊!终于有时间研究研究新东西给自己充充电了~,hessian是我接触过的最为简单的远程调用框架,听各位大大说效率也还不错,好处也一大堆。俺就不说废话了~
先写一个接口,将来要给客户端调用的
java 代码
- package hessian.service;
- /**
- *
- * @author absolute
- */
- public interface HessianService {
- public String sayHello();
- }
然后再写个类实现这个接口
java 代码
- package hessian.service;
- import com.caucho.hessian.server.HessianServlet;
- /**
- *
- * @author alsolute
- */
- public class HessianServiceImpl extends HessianServlet implements HessianService {
- /** Creates a new instance of HessianServiceImpl */
- public HessianServiceImpl() {
- }
- public String sayHello() {
- return "hello hessian!";
- }
- }
OK,这两个类写好了任务就完成一大半了,只需要做一些简单的配置任务就完成一大半了,啥也别说了来看配置文件吧
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <servlet>
- <servlet-name>test</servlet-name>
- <servlet-class>hessian.service.HessianServiceImpl</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>test</servlet-name>
- <url-pattern>/test</url-pattern>
- </servlet-mapping>
- <session-config>
- <session-timeout>
- 30
- </session-timeout>
- </session-config>
- <welcome-file-list>
- <welcome-file>
- index.jsp
- </welcome-file>
- </welcome-file-list>
- </web-app>
服务端已经做好了,现在来看客户端是怎么调用的,it is very 的简单:
java 代码
- package hessian.client;
- import com.caucho.hessian.client.HessianProxyFactory;
- import hessian.service.HessianService;
- import java.net.MalformedURLException;
- /**
- *
- * @author absolute
- */
- public class HessianClient {
- private String url = "http://localhost:8084/HessianTest/test";
- public HessianService getService() throws MalformedURLException {
- HessianProxyFactory factory = new HessianProxyFactory();
- return (HessianService) factory.create(HessianService.class, url);
- }
- public static void main(String[] args) {
- HessianClient client = new HessianClient();
- try {
- HessianService service = client.getService();
- System.out.println(service.sayHello());
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }