资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
用用 JSPJSP 实现基于实现基于 WebWeb 的的 RSSRSS 阅读器阅读器 一:一: RSSRSS 介绍介绍根据维基百科根据维基百科( (http:/zh.wikipedia.org/wiki/RSShttp:/zh.wikipedia.org/wiki/RSS) )的定义,的定义,“RSS“RSS 是一种是一种 用于共享新闻和其他用于共享新闻和其他 WebWeb 内容的数据交换规范内容的数据交换规范 ”,它是一系列的规范的组合,它是一系列的规范的组合, 采用采用 XMLXML 格式。目前国内格式。目前国内 RSSRSS 应用最多的是在新闻网站和博客网站上。应用最多的是在新闻网站和博客网站上。许多网站可以用许多网站可以用 RSSRSS 阅读器来个性化自己的网页,比如显示最新的新浪新闻,阅读器来个性化自己的网页,比如显示最新的新浪新闻, 显示自己好朋友最新的博客文章,显示最新的显示自己好朋友最新的博客文章,显示最新的 GoogleGoogle 论坛内容。除此之外,利论坛内容。除此之外,利 用用 RSSRSS 阅读器还可以实现其它用途,比如:阅读器还可以实现其它用途,比如:获得天气预报获得天气预报接收邮件,比如接收邮件,比如 GmailGmail 就提供就提供 RSSRSS feedfeed获取最新股票行情获取最新股票行情获取音乐,电台节目和视频剪辑等等获取音乐,电台节目和视频剪辑等等二:二:RomeRome 介绍介绍这篇文章采用这篇文章采用 RomeRome 这个开源工具来实现这个开源工具来实现 RSSRSS 阅读器。阅读器。RomeRome 支持的格式很多,支持的格式很多, 有有 RSSRSS 0.90,0.90, RSSRSS 0.910.91 Netscape,Netscape, RSSRSS 0.910.91 Userland,Userland, RSSRSS 0.92,0.92, RSSRSS 0.93,0.93, RSSRSS 0.94,0.94, RSSRSS 1.0,1.0, RSSRSS 2.0,2.0, AtomAtom 0.3,0.3, AtomAtom 1.01.0 等等,几乎囊括了目前所等等,几乎囊括了目前所 有的有的 RSSRSS 和和 atomatom 版本。最新的版本。最新的 RomeRome 版本可以从版本可以从 http:/wiki.java.net/bin/view/Javawsxml/Romehttp:/wiki.java.net/bin/view/Javawsxml/Rome 上得到。上得到。实现实现 RSSRSS 阅读器,主要采用阅读器,主要采用 RomeRome 的解析功能,就是从的解析功能,就是从 XMLXML 文件中读出相应文件中读出相应 的内容。我用一些简单代码来说明如何使用的内容。我用一些简单代码来说明如何使用 RomeRome 中的类和方法。中的类和方法。URL feedUrl = new URL(“http:/rss.sina.com.cn/news/marquee/ddt.xml“);SyndFeedInput input = new SyndFeedInput();SyndFeed feed = input.build(new XmlReader(feedUrl);表一表一: : 得到得到 RSSRSS FeedFeed“http:/rss.sina.com.cn/news/marquee/ddt.xml“http:/rss.sina.com.cn/news/marquee/ddt.xml“是新浪新闻的一个是新浪新闻的一个 RSSRSS 地址。通过三行代码,就可以得到一个对应这个地址的地址。通过三行代码,就可以得到一个对应这个地址的 RSSRSS FeedFeed 对象。这对象。这 个对象包含我们所需要的所有个对象包含我们所需要的所有 RSSRSS 内容。如果用内容。如果用 System.out.println(feed)System.out.println(feed), 会得到表二中的结果。从中可以清楚地看到会得到表二中的结果。从中可以清楚地看到 SyndFeedSyndFeed 类的结构。类的结构。SyndFeedImpl.contributors=nullSyndFeedImpl.title=新闻中心-新闻要闻SyndFeedImpl.categories0.name=SyndFeedImpl.categories0.taxonomyUri=nullSyndFeedImpl.link=http:/news.sina.com.cn/iframe/o/allnews/input/inde x.htmSyndFeedImpl.publishedDate=Thu Jun 22 13:20:01 CST 2006SyndFeedImpl.entries0.updatedDate=nullSyndFeedImpl.entries0.contributors=nullSyndFeedImpl.entries0.title=扎瓦赫里在录像带中呼吁阿富汗人抵抗外国 侵略SyndFeedImpl.entries0.categories0.name=SyndFeedImpl.entries0.categories0.taxonomyUri=nullSyndFeedImpl.entries0.link=http:/news.sina.com.cn/w/2006-06- 22/11569270955s.shtmlSyndFeedImpl.entries0.publishedDate=Thu Jun 22 11:56:00 CST 2006SyndFeedImpl.entries0.authors=nullSyndFeedImpl.entries0.modules0.descriptions=SyndFeedImpl.entries0.modules0.creators0=WWW.SINA.COM.CNSyndFeedImpl.entries0.modules0.contributors=.SyndFeedImpl.author=nullSyndFeedImpl.copyright=Copyright 1996 - 2005 SINA Inc. All Rights Reserved表二表二: : SyndFeedSyndFeed 数据结构数据结构从上述输出结果可以看出,每个新闻条目是由从上述输出结果可以看出,每个新闻条目是由 entryentry 代表的。下列代码从代表的。下列代码从 feedfeed 中得到中得到 entryentryList list = feed.getEntries();for (int i=0; iSina NewsNumberTitleTime“表六表六: : index.jspindex.jsp 全部源代码全部源代码3. 运行项目。鼠标右键点击运行项目。鼠标右键点击”webrssreader”webrssreader”项目,选择项目,选择”运行项目运行项目”。图三图三: : 运行程序运行程序4. 运行结果如下。运行结果如下。图四图四: :程序运行结果程序运行结果四:总结四:总结RSSRSS 属于属于 Web2.0Web2.0 的一种应用技术。的一种应用技术。Web2.0Web2.0 提倡个性化与参与性。而这个简单实提倡个性化与参与性。而这个简单实 例的开发中,采用的都是一些开源软件,开源软件更是例的开发中,采用的都是一些开源软件,开源软件更是”人人为我,我为人人人人为我,我为人人” 精神的一种体现。很多时候,我们不需要自己从头开发一些工具,站在前人的精神的一种体现。很多时候,我们不需要自己从头开发一些工具,站在前人的 肩膀上,开发出一些更好的应用也许是程序员们更应该考虑的事情。肩膀上,开发出一些更好的应用也许是程序员们更应该考虑的事情。天津招聘网天津招聘网
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号