公司不同pool之间提供service都是通过hessian来开放接口的,个人觉得hessian的使用非常简单。做个demo如下:
0.首先创建web工程,并加载hessian.jar。
1.创建service,即我们通过它来提供接口:
1 |
public interface BasicService {
|
3 |
public void setServiceName(String serverName);
|
5 |
public String getServiceName();
|
7 |
public User createUser();
|
2.创建service实现:
01 |
public class BasicServiceImpl implements BasicService {
|
03 |
private String serviceName;
|
06 |
public void setServiceName(String serverName) {
|
07 |
this .serviceName = serverName;
|
11 |
public String getServiceName() {
|
12 |
return this .serviceName;
|
16 |
public User createUser() {
|
17 |
return new User( "zhangsan" , "123456" );
|
3.创建需要通过hessian传递的对象(必须序列化):
01 |
public class User implements Serializable {
|
03 |
private static final long serialVersionUID = 5792818254468116836L;
|
05 |
private String username;
|
07 |
private String password;
|
09 |
public User(String username, String password) {
|
10 |
this .username = username;
|
11 |
this .password = password;
|
14 |
public String getUsername() {
|
18 |
public void setUsername(String username) {
|
19 |
this .username = username;
|
22 |
public String getPassword() {
|
26 |
public void setPassword(String password) {
|
27 |
this .password = password;
|
4.配置web.xml:
01 |
<? xml version = "1.0" encoding = "UTF-8" ?>
|
02 |
< web-app xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns:web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id = "WebApp_ID" version = "3.0" >
|
03 |
< display-name >HessianServer</ display-name >
|
06 |
< servlet-name >basic</ servlet-name >
|
07 |
< servlet-class >com.caucho.hessian.server.HessianServlet</ servlet-class >
|
09 |
< param-name >service-class</ param-name >
|
10 |
< param-value >com.loujinhe.service.impl.BasicServiceImpl</ param-value >
|
15 |
< servlet-name >basic</ servlet-name >
|
16 |
< url-pattern >/basic</ url-pattern >
|
5.创建测试用例:
01 |
import java.net.MalformedURLException;
|
03 |
import org.junit.Before;
|
04 |
import org.junit.Test;
|
06 |
import com.caucho.hessian.client.HessianProxyFactory;
|
07 |
import com.loujinhe.service.BasicService;
|
10 |
public class BasicServiceTest {
|
12 |
private BasicService basicService;
|
15 |
public void init() throws MalformedURLException {
|
16 |
HessianProxyFactory factory = new HessianProxyFactory();
|
17 |
String url = "http://localhost:8080/HessianServer/basic" ;
|
18 |
basicService = (BasicService)factory.create(BasicService. class , url);
|
22 |
public void testBasic() {
|
23 |
basicService.setServiceName( "BasicService" );
|
24 |
System.out.println(basicService.getServiceName());
|
26 |
System.out.println(basicService.createUser().getUsername());
|
27 |
System.out.println(basicService.createUser().getPassword());
|
6.启动服务器,运行测试用例,会得到如下结果:
BasicService
zhangsan
123456
来自:http://blog.csdn.net/loujinhe/article/details/8479238
分享到:
相关推荐
赠送jar包:hessian-4.0.63.jar; 赠送原API文档:hessian-4.0.63-javadoc.jar; 赠送源代码:hessian-4.0.63-sources.jar; 赠送Maven依赖信息文件:hessian-4.0.63.pom; 包含翻译后的API文档:hessian-4.0.63-...
Hessian的设计目标是为了提供高效、简单的远程调用方式,使得客户端能够像调用本地方法一样调用远程服务。 **独立使用Hessian** 在不依赖任何框架的情况下,使用Hessian的步骤如下: 1. **添加依赖**:首先,...
这个压缩包包含了Hessian的多个版本,分别是Hessian3.1.6、Hessian3.2.1以及Hessian4.0.7。每个版本都有其特定的功能改进和优化,了解这些版本的区别和适用场景对于开发者来说至关重要。 Hessian3.1.6是Hessian的一...
在图像处理领域,多尺度Hessian滤波器是一种高级的图像增强技术,它主要用于检测图像中的线性结构,特别是对于微弱或者噪声较大的图像特征有很好的识别能力。这个技术是基于数学形态学的Hessian矩阵理论,由V.S. ...
赠送jar包:hessian-4.0.63.jar; 赠送原API文档:hessian-4.0.63-javadoc.jar; 赠送源代码:hessian-4.0.63-sources.jar; 赠送Maven依赖信息文件:hessian-4.0.63.pom; 包含翻译后的API文档:hessian-4.0.63-...