免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3830 | 回复: 0
打印 上一主题 下一主题

在应用中使用 Hessian [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-02 15:01 |只看该作者 |倒序浏览

在应用中使用 Hessian
在应用中使用 Hessian
作者:终南   
对于 Hessian 的基本介绍,可以参见
Hessian 简介
。在应用程序的实际开发中,情况往往比较复杂,但是 Hessian 是一个功能比较强大的 Web service 框架,提供了诸如访问受到 BASIC 认证保护的服务、传递Date、List、Map等常用类型以及对象等复杂数据类型的功能。
1. 使用 Basic 认证保护 Web 服务
如果没有认证机制,那么能够连接到 Web service 服务器上的客户端都有可能访问到 Web 服务。可以利用 Web 服务器的安全机制将 Web service 配置成 Basic 认证模式,这样访问 Web service 的客户端都必须提供用户名和密码才能访问。就 Tomcat 来说,对于在
Hessian 简介
中介绍的应用,可以在 web.xml 增加一下内容来设置 hello 服务使用安全认证机制:
   
    users
    org.apache.catalina.UserDatabase
   
      Hessian Example
      /hello
   
   
       tomcat
        
    BASIC
    Hessian Example
   
    tomcat
这样,只有属于 tomcat 这个角色的用户才能访问 hello 服务。
相应地,在编写 Hessian 客户端程序的时候,就必须提供用户名和密码,才能访问。HessianProxyFactory 提供了 setUser() 和 setPassword() 两个方法用来设置用户名和密码。对于上述应用,应该在代码中添加:
    factory.setUser("tomcat");
    factory.setPassword("tomcat");
2. 让 Web service 返回数组
在 Basic.java 接口中增加方法:
public String[] getNames();
在 BasicService.java 中实现该方法:
public String[] getNames() {
   return new String[] { "Apache", "Tomcat", "Hessian" };
}
在客户端可以这样访问:
    String[] names = basic.getNames();
    for(int i = 0; i  listPersons();
在 BasicService.java 中实现该方法:
public List listPersons() {
   List list = new ArrayList();
   list.add(new Person(1, "Tom", new java.util.Date(1980, 1, 1)));
   list.add(new Person(2, "Rose", new java.util.Date(1981, 1, 1)));
   return list;
}
在客户端可以这样访问:
    List list = basic.listPersons();
    System.out.println(list.size());
   
原文地址
http://hi.baidu.com/li_zhongnan/blog/item/3ff32750346a076a84352419.html

发表于: 2009-05-26,修改于: 2009-05-26 15:14 已浏览942次,有评论0条
推荐

投诉

  网友评论


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/1163/showart_2137548.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP