java中使用Hessian基本步骤

本文介绍如何使用Hessian实现远程服务调用。包括配置服务端和客户端的过程,并演示了简单的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hessian 是由 caucho 提供的一个基于 binary-RPC 实现的远程通讯 library   

(原理分析相关链接http://www.cnblogs.com/happyday56/p/4268249.html

在java中使用Hessian可以实现不同项目之间取得联系同时又相对独立,降低了程序的耦合性,方便程序员进行维护和再次开发,以下是使用Hessian的简单步骤:

1、下载相应的jar包(http://hessian.caucho.com/ 或http://download.youkuaiyun.com/detail/wodediqizhang/9543682),比如hessian-4.0.3.jar;

2、定义对外提供服务的接口:

package com.cn.a.service;  
  
import com.cn.a.model.HelloWorld;  
public interface HessianService {  
  
    public HelloWorld sayHelloWorld();  
}  


3、HessianService接口要使用HelloWorld对象:

package com.cn.a.model;  
  
import java.io.Serializable;  
  
public class HelloWorld implements Serializable{  
private String name;  
    public HelloWorld() {  
          
    }  
    public HelloWorld(String name) {  
         this.name = name;  
    }  
      
    public String getName() {  
        return name;  
    }  
    public void setName(String name) {  
        this.name = name;  
    }  
  
}  



3、实现HessianService接口,实现类为HessianServiceImpl:

package com.cn.wjztr.service.impl;  
  
import com.cn.a.model.HelloWorld;  
import com.cn.a.service.HessianService; 
public class HessianServiceImpl implements HessianService {  
      
    @Override  
    public HelloWorld sayHelloWorld() {  
        // TODO Auto-generated method stub  
        return new HelloWorld("hello,World");  
    }  
  
}  
4、配置web.xml,添加对HessianServlet的配置:

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="3.0"   
    xmlns="http://java.sun.com/xml/ns/javaee"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  
  <display-name></display-name>   
  <welcome-file-list>  
    <welcome-file>index.jsp</welcome-file>  
  </welcome-file-list>  
    
   <servlet>  
        <!-- 配置 HessianServlet,Servlet的命名任意-->  
        <servlet-name>ServiceServlet</servlet-name>  
        <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>  
          
        <!-- 配置接口的具体实现类 ,param-name命名任意-->  
        <init-param>  
            <param-name>service-class</param-name>  
            <param-value>com.cn.wjztr.service.impl.HessianServiceImpl</param-value>  
        </init-param>  
    </servlet>  
    <!-- 映射 HessianServlet的访问URL地址-->  
    <servlet-mapping>  
        <servlet-name>ServiceServlet</servlet-name>  
        <url-pattern>/ServiceServlet</url-pattern>  
    </servlet-mapping>  
    
</web-app> 

 
 此时,Hessian Server的配置已经完成了,接下来将应用部署在tomcat并启动。访问链接http://127.0.0.1:8081/HessianTest/ServiceServlet,得到信息如下:

实现Hessian的client:

 调用Hessian的客户端,创建HessianTestClient类,代码如下:

package com.cn.a.controller;  
  
import java.net.MalformedURLException;  
  
import com.caucho.hessian.client.HessianProxyFactory;  
import com.cn.a.model.HelloWorld;  
import com.cn.a.service.HessianService;  
public class HessianTestClient {  
    public static void main(String[] args) {  
    //在服务器端的web.xml文件中配置的HessianServlet映射的访问URL地址  
    String url = "http://127.0.0.1:8081/HessianTest/ServiceServlet";   
    HessianProxyFactory factory = new HessianProxyFactory();   
    HessianService service = null;  
    try {service = (HessianService) factory.create(HessianService.class, url);}   
    catch (MalformedURLException e) {  
        // TODO Auto-generated catch block  
        e.printStackTrace();}  
    //创建IService接口的实例对象   
    HelloWorld helloWorld = service.sayHelloWorld();  
    //调用Hessian服务器端的ServiceImpl类中的getUser方法来获取一个User对象   
    System.out.println(helloWorld.getName());}}  
    }  
}  



jsp页面:

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">        运行这个类,会得到“hello,World”信息:</span>  















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值