RSS也叫聚合RSS是在线共享内容的一种简易方式(也叫聚合内容,Really Simple Syndication)。通常在时效性比较强的内容上使用RSS订阅能更快速获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。同时也是医学、物理学、数学等学科专有名词的英文缩写简称。
最初的RSS要追溯到1995年,当Ramanathan V. Guha和其他在苹果电脑公司的高级技术组开发了一个测试的内容框架。更多有关RSS的资料可查看这里,下面我们来为我们的JSP网站生成RSS。
RSS用途:
1、订阅BLOG
(你可以订阅你工作中所需的技术文章;也可以订阅与你有共同爱好的作者的Blog,总之,你对什么感兴趣你就可以订什么)
2、订阅新闻
(无论是奇闻怪事、明星消息、体坛风云,只要你想知道的,都可以订阅) 你再也不用一个网站一个网站,一个网页一个网页去逛了。只要这将你需要的内容订阅在一个RSS阅读器中,这些内容就会自动出现你的阅读器里,你也不必为了一个急切想知道的消息而不断的刷新网页,因为一旦有了更新,RSS阅读器就会自己通知你.
用JSP技术实现RSS功能之最基本的RSS结构:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"> </rss> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"> </rss>
用JSP技术实现RSS功能其实就是一个XML文件!
在<rss></rss>之间我们可以自由配置自己要发布的RSS的格式。例如此次我们要发布的RSS是这样的:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" x mlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" x mlns:slash="http://purl.org/rss/1.0/modules/slash/"> <channel> <item> <title>JSP网站RSS的实现</title> <author>neeke</author> <pubDate>2008-10-04</pubDate> <description>这是来自尼克技术博客博客的RSS</description> <category>J2EE技术</category> </item> </channel> </rss>
了解了它的结构实现起来就容易了。我们创建IO流,并从数据库中获取到我们要发布的RSS资源的集合,然后按照它的格式与结构一行一行的写入到一个RSS.XML文件中即可。
public static void publishRss(String rssPath) { //获得要发布的RSS数据集合 ArrayList rssArticle = ArticleManager.getArticlesAll(); try { //创建输入输出流 FileWriter fw = new FileWriter(rssPath); BufferedWriter bw = new BufferedWriter(fw); //开始按照格式写入数据 bw.write( "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n"); bw.write("<?xml-stylesheet type=\"text/xsl\" href=\"CSS/rss.xslt\"?>"); bw.write("<rss version=\"2.0\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:trackback=\"http://madskills.com/public/xml/rss/module/trackback/\" xmlns:wfw=\"http://wellformedweb.org/CommentAPI/\" xmlns:slash=\"http://purl.org/rss/1.0/modules/slash/\">\r\n"); bw.write("<channel>\r\n"); for (int i = 0; i < rssArticle.size(); i++) { ArticleBean article = (ArticleBean) rssArticle.get(i); bw.write("<item>\r\n"); bw.write("<title>" + article.getTitle() + "</title>\r\n"); bw.write("<author>" + article.getAuthorId() + "</author>\r\n"); bw.write("<pubDate>" + article.getPostTime() + "</pubDate>\r\n"); bw.write("<description>" + article.getIntro() + "</description>\r\n"); bw.write("<category>" + article.getCateId() + "</category>\r\n"); bw.write("</item>\r\n"); } bw.write("</channel>\r\n"); bw.write("</rss>"); //关闭流,RSS发布完毕。 bw.close(); fw.close(); } catch (IOException ex) { ex.printStackTrace(); } }
这样用JSP实现RSS就发布完毕了,经过我的测试打开后会提示出错,用记事本打开生成的源文件,然而我们的RSS文件是一点问题都没有的哇,怎么可能呢?接着又用JBuilder打开这个XML文件,晕倒~汉字全是乱码,立刻意识到问题出在了哪里了。在哪呢?其实就是文件的编码问题!将原先bw.write("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n");该行代码中的UTF-8改为GBK,重新跑一次程序,一切OK!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Paypal实现循环扣款(订阅)功能,包括了Paypal实现循环扣款(订阅)功能的使用技巧和注意事项,需要的朋友参考一下 起因 业务需求要集成Paypal,实现循环扣款功能,然而百度和GOOGLE了一圈,除官网外,没找到相关开发教程,只好在Paypal上看,花了两天后集成成功,这里对如何使用Paypal的支付接口做下总结。 Paypal现在有多套接口: 通过Braintree(后面会
redis作为一个pub/sub server,在订阅者和发布者之间起到了消息路由的功能。订阅者可以通过subscribe和psubscribe命令向redis server订阅自己感兴趣的消息类型,redis将消息类型称为频道(channel)。当发布者通过publish命令向redis server发送特定类型的消息时。订阅该消息类型的全部client都会收到此消息。这里消息的传递是多对多的。
我目前正在尝试使用Simplepie将多个提要显示为单个提要。我有饲料在一个数组和显示罚款: 这显示: 我的问题是如何在数组中循环并仅访问每个提要中最近的文章/文章,以便每个提要中只有第一篇文章/文章显示如下: 我想完成的最隐秘的事情可能是这个答案: SimplePie多个进纸随机顺序 但我不希望它是随机的。我的感觉是,排序项目是这样做的,但我需要一些方向。 任何帮助都很感激。 谢谢你抽出时间。
本文向大家介绍JSP实现添加功能和分页显示实例分析,包括了JSP实现添加功能和分页显示实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JSP实现添加功能和分页显示的方法。分享给大家供大家参考。具体如下: 学习目标: ① 进一步掌握MVC设计模式; ② 掌握添加功能的实现; ③ 掌握分页显示功能的实现。 主要内容: ① 通过用户信息添加功能进一步介绍MVC模式; ② 通过用户信息的分
本文向大家介绍基于C#技术实现身份证识别功能,包括了基于C#技术实现身份证识别功能的使用技巧和注意事项,需要的朋友参考一下 最近研究C#相关的ORC技术,图像识别一般C和C++这种底层语言做的比较多,C#主要是依托一些封装好的组件进行调用,这里介绍三种身份证识别的方法。 一:调用大公司API接口,百度、云脉,文通科技都有相关的API介绍。 二:调用图像处理类库,EmguCV是OpenCV的一个跨平
仍处于技术预览阶段的实验性 Photoshop 功能 Photoshop 附带技术预览功能,您可以试用它们。这些功能可能尚不能完全用于生产,因此使用时需要格外谨慎。 启用/禁用技术预览功能 选择首选项 > 技术预览。 选择/取消选择技术预览功能的选项。例如,选择启用绘画对称。 单击确定。 保留细节 2.0 放大 默认状态:开启 Photoshop 当前提供由人工智能辅助的升级,可在调整图像大小时保