Hessian的应用

 

第一个Hessian应用

                                      

Hessian是一个简单的二进制的Web服务方案(其实我觉得它更多的是一种二进制对象传递方式),它只需要一个客户端接口和服务端程序就可以轻松实现程序的远程调用啦。
下面就以Hessian主页上的例子来show一下这种简单的RPC应用方案啦


1、在tomcat下创建一个应用test,在其下的WEB-INF/src目录下编写以下程序文件。

2、创建服务端程序文件example/BasicService.java,内容如下:
package example;

public class BasicService implements Basic {
  private String _greeting = "Hello, world";

  public void setGreeting(String greeting)
  {
    _greeting = greeting;
  }

  public String hello()
  {
    return _greeting;
  }
}

3、创建一个本地接口,example/Basic.java,内容如下:
package example;

public interface Basic {
   public String hello(); //与服务端的hello方法对应
}


4、创建客户端测试程序,example/BasicClient.java,内容如下:

package example;

import com.caucho.hessian.client.HessianProxyFactory;

public class BasicClient {
  public static void main(String []args)
    throws Exception
  {
    String url = "http://127.0.0.1:8080/test/hello";

    HessianProxyFactory factory = new HessianProxyFactory();
    Basic basic = (Basic) factory.create(Basic.class, url);

    System.out.println("Hello: " + basic.hello());
  }
}

5、修改WEB-INF下的web.xml文件,填充以下内容:

  <?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
 <web-app>
  <servlet>
   <servlet-name>hello</servlet-name>
   <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
    <init-param>
      <param-name>home-class</param-name>
      <param-value>example.BasicService</param-value>
    </init-param>
    <init-param>
      <param-name>home-api</param-name>
      <param-value>example.Basic</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <url-pattern>/hello</url-pattern>
    <servlet-name>hello</servlet-name>
  </servlet-mapping>
</web-app>

6、启动tomcat后,运行一下BasicClient类

看一看,是不是输出以下的内容啦,如果有恭喜你,已经成功创建你的第一个RPC Hessian应用了。
> Hello: Hello, world
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值