Java远程调用之Hessian

来源:互联网 发布:厦门三巨网络做什么的 编辑:程序博客网 时间:2024/05/21 09:43
 (一)远程服务端

  1.服务接口

  package server;

  public interface Hello {

  String hello(String name);

  }

  2.接口实现类

  package server;

  public class HelloImpl implements Hello{

  public String hello(String name) {

  return "hello,"+name+"! 欢迎学习Hessian";

  }

  }

  在服务器端配置web.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>hessianService</servlet-name>

  <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>

  <init-param>

  <param-name>service-class</param-name>

  <param-value>server.HelloImpl</param-value>

  </init-param>

  <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet-mapping>

  <servlet-name>hessianService</servlet-name>

  <url-pattern>/hessianService</url-pattern>

  </servlet-mapping>

  </web-app>

  还要导入jar包,从Hessian官网上下载,放入lib文件夹下.

  为了方便,将Hello接口及实现类打包成jar包,以供客户端使用,在这里打包成hello.jar.

  至此 服务器端 完成.

  注:服务器端IP是http://192.168.1.104:8081

  (二)客户端

  通过服务器端暴露的服务接口,来进行远程调用服务.

  程序如下:

  package client;

  import java.net.MalformedURLException;

  import server.Hello;

  import com.caucho.hessian.client.HessianProxyFactory;

  public class RomoteTest {

  /**

  * @param args

  */

  public static void main(String[] args) {

  // TODO Auto-generated method stub

  //hessian服务的url 其中hessian-v1是项目名

  String url = "http://192.168.1.104:8081/hessian-v1/hessianService";

  //创建HessianProxyFactory实例

  HessianProxyFactory factory = new HessianProxyFactory();

  //获得Hessian服务的远程引用

  try {

  Hello hello = (Hello)factory.create(Hello.class,url);

  System.out.println(hello.hello("kingtoon"));

  } catch (MalformedURLException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  }

  }

  }

  因为要用到接口Hello,所以需要将Hello.jar导入到lib下.

  测试结果如下:

  hello,kingtoon! 欢迎学习Hessian

原创粉丝点击