hessian demo和hessian与spring整合demo
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/**
*@version 1.1
*@author iam00@
*@create Mar18,2010
*/
Hessian是一个轻量级的remoting on http工具,使用简单的方法提供了RMI(Remote Method Invocation,远程方法调用)的功能。采用的是二进制RPC (Remote Procedure Call Protocol,远程过程调用协议)协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
在进行基于Hessian的项目开发时,应当注意以下几点:
▲JAVA服务器端必须具备以下几点:
·包含Hessian的jar包。
·设计一个接口,用来给客户端调用。
·实现该接口的功能。
·配置web.xml,配好相应的servlet。
·对象必须实现Serializable 接口。
·对于复杂对像可以使用Map的方法传递。
▲客户端必须具备以下几点:
·java客户端包含Hessian.jar的包。
·具有和服务器端结构一样的接口。
·利用HessianProxyFactory调用远程接口。
下面是一个hessian的简单例子。
Java服务器端:
环境:j2sdk1.4.2、Tomcat6.0
依赖的包:hessian-3.1.6.jar
新建一个名为HessianServer的web project。将hessian-3.1.6.jar放入WEB-INF/lib文件夹中。
创建接口:
package server.demo;
public interface DemoApi {
public void setName(String name);
public String sayHello();
public User getUser();
}
实现接口:
package server.demo;
public class DemoService implements DemoApi { private String name;
public String sayHello() {
return"Hello "+name;
}
public void setName(String name) {
=name;
System.out.println("Hello "+name);
}
public User getUser() {
return new User("lingling", "pass");
}
}
创建User类,注意:一定要implements Serializable。package server.demo;
import java.io.Serializable;
public class User implements Serializable { String name = "kitty";
String password = "nopass";
public User() {
super();
}
public User(String name, String password) { super();
= name;
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
配置web.xml:
将项目发布到tomcat服务器上。
Java客户端:
环境:j2sdk1.4.2
依赖的包:hessian-3.1.6.jar
创建一个名为HessianClient的java project,载入hessian-3.1.6.jar。
创建与服务器一样的接口及User类,注意它们所在的包路径也要与服务器相同,否则会出现ng.ClassNotFoundException。
接口:
package server.demo;
public interface DemoApi {