快速业务通道

用JAX-RPC构建RPC服务和客户机:使用Java API构建基于RPC的Web服务(一) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
quo;presentation”、“cognitive science” 或 “marketing” 等字符串值。

这个程序包含实现以下功能的方法:

通过书名和关键字列表添加书

为给定书的添加关键字

获取书的关键字

这些方法既是实用程序(供管理员使用),也具有功能性(帮助使用这个程序的用户获得关于书的信 息)。这个程序还有一个搜索方法,这是关键功能:给出一个关键字,就会返回所有匹配的书名。剩下的 工作仅仅是实现搜索逻辑并装载一些图书信息。

参数化列表和泛化类型在哪里?

输入或下载(参见 下载)清单 3 中的代码并编译。如果您仍然使用 Java 1.4,这段代码可以正常编 译。如果在 Java 5 或更高版本上编译,就会收到几个警告,因为 List 未经检查而且无类型。很容易添 加类型,而且值得这么做。为关键字列表设置类型非常有益:确保只能把字符串关键字添加到列表中,从 而使程序更安全。但是,目前的程序仍然非常明确,很容易理解,这对于本教程很重要。

编写搜索功能

通过关键字搜索书名非常简单,只需循环遍历图书的映射,检查每本书的列表是否包含指定的关键字 。同样,这里不涉及任何 Web 服务概念;它仅仅是基本的程序逻辑。清单 4 给出 BookSearcher 中完整 的 search() 方法:

清单 4. 按照关键字搜索图书的 search() 方法

public List search(String keyword) {   List results = new LinkedList();   for (Iterator i = books.keySet().iterator(); i.hasNext(); ) {    String title = (String)i.next();    List keywords = (List)books.get(title);    if (keywords.contains(keyword)) {     results.add(title);    }   }   return results; }

这个方法循环遍历存储库中的所有书,取出每本书的关键字列表。检查列表中是否包含与指定的关键 字匹配的条目。然后,通过另一个列表返回匹配的书。

用JAX-RPC构建RPC服务和客户机:使用Java API构建基于RPC的Web服务(一)(11)

时间:2011-08-02 IBM Brett McLaughlin

添加一些示例数据

最后,需要一些示例数据。一般情况下,这些数据可能存储在数据库中。但是,这个程序只是为了演 示 JAX-RPC 技术,所以只需用一个简单的 addBooks() 方法(见清单 5)添加一些书名和关键字:

清单 5. 提供图书数据的 addBooks() 方法

private void addBooks() { List keywords = new LinkedList();   keywords.add("presentation"); keywords.add("Keynote");   keywords.add("PowerPoint"); keywords.add("design");   addBook("Presentation Zen", keywords);   List keywords2 = new LinkedList();   keywords2.add("presentation"); keywords2.add("user interface design");   keywords2.add("pictures"); keywords2.add("visuals");   addBook("The Back of the Napkin", keywords2);   List keywords3 = new LinkedList();   keywords3.add("marketing"); keywords3.add("business");   keywords3.add("commercials"); keywords3.add("consumers");   addBook("Purple Cow", keywords3);    List keywords4 = new LinkedList();   keywords4.add("marketing"); keywords4.add("business");   keywords4.add("notecards"); keywords4.add("design");   keywords4.add("visuals"); keywords4.add("pictures");   keywords4.a

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号