本文主要给出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);
}
}
运行结果:首先启动在服务器中的服务端,在运行客户端程序: