RSS

  • 用JSP技术实现RSS功能是如何做到的呢?本文将向你介绍一下具体的实现,如果你对用JSP技术实现RSS功能感兴趣,那么这篇文章是你的选择。
  •  

    用JSP技术实现RSS功能首先我们来看下什么是RSS,RSS(也叫聚合内容,Really Simple Syndication)现在用的已经很广啦,最初的RSS要追溯到1995年,当Ramanathan V. Guha和其他在苹果电脑公司的高级技术组开发了一个测试的内容框架。更多有关RSS的资料可查看这里,下面我们来为我们的JSP网站生成RSS。

    用JSP技术实现RSS功能之最基本的RSS结构:

      
      
    1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>   
    2. <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" 
    3. xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" 
    4. xmlns:wfw="http://wellformedweb.org/CommentAPI/"     
    5. xmlns:slash="http://purl.org/rss/1.0/modules/slash/">   
    6. </rss>   
    7. <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
    8. <rss version="2.0"   
    9. xmlns:dc="http://purl.org/dc/elements/1.1/"    
    10. xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"    
    11. xmlns:wfw="http://wellformedweb.org/CommentAPI/"    
    12. xmlns:slash="http://purl.org/rss/1.0/modules/slash/"> 
    13. </rss> 

    用JSP技术实现RSS功能其实就是一个XML文件!

    在<rss></rss>之间我们可以自由配置自己要发布的RSS的格式。例如此次我们要发布的RSS是这样的:

      
      
    1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>   
    2. <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" x   
    3. mlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"    
    4. xmlns:wfw="http://wellformedweb.org/CommentAPI/" x   
    5. mlns:slash="http://purl.org/rss/1.0/modules/slash/">   
    6. <channel>   
    7. <item>   
    8. <title>JSP网站RSS的实现</title>   
    9. <author>neeke</author>   
    10. <pubDate>2008-10-04</pubDate>   
    11. <description>这是来自尼克技术博客博客的RSS</description>   
    12. <category>J2EE技术</category>   
    13. </item>   
    14. </channel>   
    15. </rss>  
     

    了解了它的结构实现起来就容易了。我们创建IO流,并从数据库中获取到我们要发布的RSS资源的集合,然后按照它的格式与结构一行一行的写入到一个RSS.XML文件中即可。

      
      
    1. public static void publishRss(String rssPath)   
    2.     {   
    3.    //获得要发布的RSS数据集合   
    4.         ArrayList rssArticle = ArticleManager.getArticlesAll();   
    5.         try { //创建输入输出流   
    6.             FileWriter fw = new FileWriter(rssPath);   
    7.             BufferedWriter bw = new BufferedWriter(fw); //开始按照格式写入数据   
    8.             bw.write(   
    9.                     "<?xml version=/"1.0/" encoding=/"UTF-8/" standalone=/"yes/"?>/r/n");   
    10.             bw.write("<?xml-stylesheet type=/"text/xsl/" href=/"CSS/rss.xslt/"?>");   
    11.             bw.write("<rss version=/"2.0/" xmlns:dc=/"http://purl.org/dc/elements/1.1//"   
    12.   xmlns:trackback=/"http://madskills.com/public/xml/rss/module/trackback//"   
    13.   xmlns:wfw=/"http://wellformedweb.org/CommentAPI//"   
    14.   xmlns:slash=/"http://purl.org/rss/1.0/modules/slash//">/r/n");   
    15.             bw.write("<channel>/r/n");   
    16.             for (int i = 0; i < rssArticle.size(); i++) {   
    17.                 ArticleBean article = (ArticleBean) rssArticle.get(i);   
    18.                 bw.write("<item>/r/n");   
    19.                 bw.write("<title>" + article.getTitle() + "</title>/r/n");   
    20.                 bw.write("<author>" + article.getAuthorId() + "</author>/r/n");   
    21.                 bw.write("<pubDate>" + article.getPostTime() + "</pubDate>/r/n");   
    22.                 bw.write("<description>" + article.getIntro() +   
    23.                          "</description>/r/n");   
    24.                 bw.write("<category>" + article.getCateId() + "</category>/r/n");   
    25.                 bw.write("</item>/r/n");   
    26.             }   
    27.             bw.write("</channel>/r/n");   
    28.             bw.write("</rss>");   
    29.             //关闭流,RSS发布完毕。   
    30.             bw.close();   
    31.             fw.close();   
    32.         } catch (IOException ex) {   
    33.             ex.printStackTrace();   
    34.         }   
    35.     }  

    这样用JSP实现RSS就发布完毕了,经过我的测试打开后会提示出错,用记事本打开生成的源文件,然而我们的RSS文件是一点问题都没有的哇,怎么可能呢?接着又用JBuilder打开这个XML文件,晕倒~汉字全是乱码,立刻意识到问题出在了哪里了。在哪呢?其实就是文件的编码问题!将原先bw.write("<?xml version=/"1.0/" encoding=/"UTF-8/" standalone=/"yes/"?>/r/n");该行代码中的UTF-8改为GBK,重新跑一次程序,一切OK!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechingOn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值