`
absolute
  • 浏览: 188122 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

简单的Hessian demo

阅读更多

     接到通知会在公司闲置一个月,真是开心啊!终于有时间研究研究新东西给自己充充电了~,hessian是我接触过的最为简单的远程调用框架,听各位大大说效率也还不错,好处也一大堆。俺就不说废话了~

先写一个接口,将来要给客户端调用的

java 代码
  1. package hessian.service;   
  2.   
  3. /**  
  4.  *  
  5.  * @author absolute  
  6.  */  
  7. public interface HessianService {   
  8.   
  9.     public String sayHello();   
  10. }  

然后再写个类实现这个接口

java 代码
  1. package hessian.service;   
  2.   
  3. import com.caucho.hessian.server.HessianServlet;   
  4.   
  5. /**  
  6.  *  
  7.  * @author alsolute  
  8.  */  
  9. public class HessianServiceImpl extends HessianServlet implements HessianService {   
  10.        
  11.     /** Creates a new instance of HessianServiceImpl */  
  12.     public HessianServiceImpl() {   
  13.     }   
  14.   
  15.     public String sayHello() {   
  16.         return "hello hessian!";   
  17.     }   
  18. }  

OK,这两个类写好了任务就完成一大半了,只需要做一些简单的配置任务就完成一大半了,啥也别说了来看配置文件吧

xml 代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  3.     <servlet>  
  4.         <servlet-name>test</servlet-name>  
  5.         <servlet-class>hessian.service.HessianServiceImpl</servlet-class>  
  6.     </servlet>  
  7.     <servlet-mapping>  
  8.         <servlet-name>test</servlet-name>  
  9.         <url-pattern>/test</url-pattern>  
  10.     </servlet-mapping>  
  11.     <session-config>  
  12.         <session-timeout>  
  13.             30   
  14.         </session-timeout>  
  15.     </session-config>  
  16.     <welcome-file-list>  
  17.         <welcome-file>  
  18.             index.jsp   
  19.         </welcome-file>  
  20.     </welcome-file-list>  
  21. </web-app>  

服务端已经做好了,现在来看客户端是怎么调用的,it is very 的简单:

java 代码
  1. package hessian.client;   
  2.   
  3. import com.caucho.hessian.client.HessianProxyFactory;   
  4. import hessian.service.HessianService;   
  5. import java.net.MalformedURLException;   
  6.   
  7. /**  
  8.  *  
  9.  * @author absolute  
  10.  */  
  11. public class HessianClient {   
  12.        
  13.     private String url = "http://localhost:8084/HessianTest/test";   
  14.        
  15.     public HessianService getService() throws MalformedURLException {   
  16.         HessianProxyFactory factory = new HessianProxyFactory();   
  17.            
  18.         return  (HessianService) factory.create(HessianService.class, url);   
  19.     }   
  20.        
  21.     public static void main(String[] args) {   
  22.         HessianClient client = new HessianClient();   
  23.         try {   
  24.             HessianService service = client.getService();   
  25.             System.out.println(service.sayHello());   
  26.         } catch (Exception e) {   
  27.             e.printStackTrace();   
  28.         }   
  29.     }   
  30. }   

分享到:
评论
2 楼 wangjian95 2012-07-13  
顶你个肺,你写的太简单了
1 楼 guohui_fz 2008-11-23  
网上那么多例子,就你的搞对了

相关推荐

Global site tag (gtag.js) - Google Analytics