源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 203|回复: 20

[JSP编程] JSP技术实现RSS订阅功能的示例

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2016-10-21 17:26:05 | 显示全部楼层 |阅读模式
用JSP技术实现RSS功能是如何做到的呢?本文将向你介绍一下具体的实现,如果你对用JSP技术实现RSS功能感兴趣,那么这篇文章是你的选择。

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!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

回复

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-10-16 04:45:50 | 显示全部楼层
需要很久了终于找到了
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-12-12 10:44:00 | 显示全部楼层
挺不错的东西
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-12-23 07:14:10 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-5-10 02:59:48 | 显示全部楼层
笑纳了老板
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2023-9-21 14:13:58 | 显示全部楼层
66666666666
回复 支持 反对

使用道具 举报

6

主题

2万

回帖

425

积分

中级会员

Rank: 3Rank: 3

积分
425
发表于 2023-10-28 08:05:39 | 显示全部楼层
儿飞飞微风DVD谁vdsvd
回复 支持 反对

使用道具 举报

3

主题

2万

回帖

156

积分

注册会员

Rank: 2

积分
156
发表于 2023-11-4 06:51:52 | 显示全部楼层
看看看看看看看看看看看看看看看看看看看看看看看看看看看
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

380

积分

中级会员

Rank: 3Rank: 3

积分
380
发表于 2023-12-5 00:47:33 | 显示全部楼层
大家都不容易!
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-5-21 22:31:49 | 显示全部楼层
谢谢下载来看看
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-2-1 12:50 , Processed in 0.100296 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表