Hessian的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangqian201175/article/details/51463676

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

1、Hessian的使用Java代码实现

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

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);
    }
}

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

猜你喜欢

转载自blog.csdn.net/yangqian201175/article/details/51463676