Hessian

    公司不同pool之间提供service都是通过hessian来开放接口的,个人觉得hessian的使用非常简单。做个demo如下:

0.首先创建web工程,并加载hessian.jar。

1.创建service,即我们通过它来提供接口:

1 public interface BasicService { 
2    
3     public void setServiceName(String serverName); 
4    
5     public String getServiceName(); 
6        
7     public User createUser(); 
8        
9}

 

2.创建service实现:

01 public class BasicServiceImpl implements BasicService { 
02    
03     private String serviceName; 
04        
05     @Override 
06     public void setServiceName(String serverName) { 
07         this.serviceName = serverName; 
08     
09        
10     @Override 
11     public String getServiceName() { 
12         return this.serviceName; 
13     
14        
15     @Override 
16     public User createUser() { 
17         return new User("zhangsan""123456"); 
18     
19}

3.创建需要通过hessian传递的对象(必须序列化):

01 public class User implements Serializable { 
02    
03     private static final long serialVersionUID = 5792818254468116836L; 
04    
05     private String username; 
06        
07     private String password; 
08        
09     public User(String username, String password) { 
10         this.username = username; 
11         this.password = password; 
12     
13    
14     public String getUsername() { 
15         return username; 
16     
17    
18     public void setUsername(String username) { 
19         this.username = username; 
20     
21    
22     public String getPassword() { 
23         return password; 
24     
25    
26     public void setPassword(String password) { 
27         this.password = password; 
28     
29}

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
04      
05   <servlet
06     <servlet-name>basic</servlet-name
07     <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class
08     <init-param
09         <param-name>service-class</param-name
10         <param-value>com.loujinhe.service.impl.BasicServiceImpl</param-value
11     </init-param
12   </servlet
13      
14   <servlet-mapping
15     <servlet-name>basic</servlet-name
16     <url-pattern>/basic</url-pattern
17   </servlet-mapping
18      
19 </web-app>

 

5.创建测试用例:

01 import java.net.MalformedURLException; 
02    
03 import org.junit.Before; 
04 import org.junit.Test; 
05    
06 import com.caucho.hessian.client.HessianProxyFactory; 
07 import com.loujinhe.service.BasicService; 
08    
09    
10 public class BasicServiceTest { 
11        
12     private BasicService basicService; 
13    
14     @Before 
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); 
19     
20        
21     @Test 
22     public void testBasic() { 
23         basicService.setServiceName("BasicService"); 
24         System.out.println(basicService.getServiceName()); 
25            
26         System.out.println(basicService.createUser().getUsername()); 
27         System.out.println(basicService.createUser().getPassword()); 
28     
29}

6.启动服务器,运行测试用例,会得到如下结果:

 

BasicService

zhangsan

123456

来自:http://blog.csdn.net/loujinhe/article/details/8479238

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值