Hessian的使用

Posted Frank Q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hessian的使用相关的知识,希望对你有一定的参考价值。

本文主要给出Hessian可使用的核心代码:

1、Hessian的使用Java代码实现

1)Hessian项目需要使用的只有一个Jar包,但是无论在Hessian的客户端项目工程还是在Hessian服务端项目工程中都需要导入该jar包;

2)hessian_server工程中:

  • 首先创建JavaBean对象:

User.java

package com.hessian.server.domain;

import java.io.Serializable;

public class User implements Serializable 

    private static final long serialVersionUID = 1L;

    private int id;
    private String name;
    private int age;

    public User(int id, String name, int age) 
        super();
        this.id = id;
        this.name = name;
        this.age = age;
    

    public int getId() 
        return id;
    
    public void setId(int id) 
        this.id = id;
    
    public String getName() 
        return name;
    
    public void setName(String name) 
        this.name = name;
    
    public int getAge() 
        return age;
    
    public void setAge(int age) 
        this.age = age;
    

    @Override
    public String toString() 
        return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
    

创建外部的访问接口(外部可以通过接口中的函数访问该项目中的相关数据):

HelloService.java

package com.hessian.server.service;

import java.util.List;

import com.hessian.server.domain.User;

public interface HelloService 
    public String sayHello(String name);
    public List<User> findAllUser();

实现接口

HelloServiceImpl.java

package com.hessian.server.service.impl;

import java.util.ArrayList;
import java.util.List;

import com.hessian.server.domain.User;
import com.hessian.server.service.HelloService;

public class HelloServiceImpl implements HelloService 

    @Override
    public String sayHello(String name) 
        System.out.println("sayHello方法调用");
        return "hello :=====》》》》》" + name;
    

    @Override
    public List<User> findAllUser() 
        User user1 = new User(1,"XiaoLi",12);
        User user2 = new User(2,"XiaoLi",12);

        List<User> list = new ArrayList<User>();
        list.add(user1);
        list.add(user2);

        return list;
    

3)hessian_client工程中:

首先创建一个与Server相同的接口类:

HelloService.java

package com.hessian.client.service;
/**
 * 提供接口,通过代理对象实现调用
 */
public interface HelloService 
    public String sayHello(String name);
    public Object findAllUser();

客户端访问外部项目
HessianClient.java

package com.hessian.client;

import java.net.MalformedURLException;

import com.caucho.hessian.client.HessianProxyFactory;
import com.hessian.client.service.HelloService;

public class HessianClient 
    public static void main(String[] args) throws MalformedURLException 
        //创建代理工厂,用于创建客户端的代理对象
        HessianProxyFactory factory = new HessianProxyFactory();
        String url = "http://localhost:8080/hessian_server/hessian";
        //创建服务的代理
        HelloService proxy = 
            (HelloService) factory.create(HelloService.class, url);
        String ret = proxy.sayHello("TEST");
        System.out.println(ret);
        Object users = proxy.findAllUser();
        System.out.println(users);
    

运行结果:首先启动在服务器中的服务端,在运行客户端程序:

以上是关于Hessian的使用的主要内容,如果未能解决你的问题,请参考以下文章

Hessian与Webservice的区别

梯度Hessian矩阵平面方程的法线以及函数导数的含义

Hessian使用

Hessian与Webservice的区别

远程调用——hessian使用入门

Hessian 2.0 序列化协议 - Hessian 2.0 Serialization Protocol 翻译