- 论坛徽章:
- 0
|
在应用中使用 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());
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/67646/showart_1945342.html |
|