自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用JSP技術(shù)實(shí)現(xiàn)RSS功能

開發(fā) 后端
用JSP技術(shù)實(shí)現(xiàn)RSS功能是如何做到的呢?本文將向你介紹一下具體的實(shí)現(xiàn),如果你對用JSP技術(shù)實(shí)現(xiàn)RSS功能感興趣,那么這篇文章是你的選擇。

用JSP技術(shù)實(shí)現(xiàn)RSS功能首先我們來看下什么是RSS,RSS(也叫聚合內(nèi)容,Really Simple Syndication)現(xiàn)在用的已經(jīng)很廣啦,最初的RSS要追溯到1995年,當(dāng)Ramanathan V. Guha和其他在蘋果電腦公司的高級技術(shù)組開發(fā)了一個(gè)測試的內(nèi)容框架。更多有關(guān)RSS的資料可查看這里,下面我們來為我們的JSP網(wǎng)站生成RSS。

用JSP技術(shù)實(shí)現(xiàn)RSS功能之最基本的RSS結(jié)構(gòu):

  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技術(shù)實(shí)現(xiàn)RSS功能其實(shí)就是一個(gè)XML文件!

在<rss></rss>之間我們可以自由配置自己要發(fā)布的RSS的格式。例如此次我們要發(fā)布的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網(wǎng)站RSS的實(shí)現(xiàn)</title>   
  9. <author>neeke</author>   
  10. <pubDate>2008-10-04</pubDate>   
  11. <description>這是來自尼克技術(shù)博客博客的RSS</description>   
  12. <category>J2EE技術(shù)</category>   
  13. </item>   
  14. </channel>   
  15. </rss>  
 

了解了它的結(jié)構(gòu)實(shí)現(xiàn)起來就容易了。我們創(chuàng)建IO流,并從數(shù)據(jù)庫中獲取到我們要發(fā)布的RSS資源的集合,然后按照它的格式與結(jié)構(gòu)一行一行的寫入到一個(gè)RSS.XML文件中即可。
 

  1. public static void publishRss(String rssPath)   
  2.     {   
  3.    //獲得要發(fā)布的RSS數(shù)據(jù)集合   
  4.         ArrayList rssArticle = ArticleManager.getArticlesAll();   
  5.         try { //創(chuàng)建輸入輸出流   
  6.             FileWriter fw = new FileWriter(rssPath);   
  7.             BufferedWriter bw = new BufferedWriter(fw); //開始按照格式寫入數(shù)據(jù)   
  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.             //關(guān)閉流,RSS發(fā)布完畢。   
  30.             bw.close();   
  31.             fw.close();   
  32.         } catch (IOException ex) {   
  33.             ex.printStackTrace();   
  34.         }   
  35.     }  

這樣用JSP實(shí)現(xiàn)RSS就發(fā)布完畢了,經(jīng)過我的測試打開后會提示出錯,用記事本打開生成的源文件,然而我們的RSS文件是一點(diǎn)問題都沒有的哇,怎么可能呢?接著又用JBuilder打開這個(gè)XML文件,暈倒~漢字全是亂碼,立刻意識到問題出在了哪里了。在哪呢?其實(shí)就是文件的編碼問題!將原先bw.write("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n");該行代碼中的UTF-8改為GBK,重新跑一次程序,一切OK!


 

【編輯推薦】

  1. 構(gòu)造JSP和Javabean開發(fā)和發(fā)布環(huán)境的方法
  2. JSP設(shè)計(jì)模式淺析
  3. 什么是JSP以及其強(qiáng)弱勢
  4. JSP頁面Tomcat提高性能之王道
  5. JSP教程基礎(chǔ)之腳本的使用
責(zé)任編輯:仲衡 來源: CSDN博客
相關(guān)推薦

2010-02-26 14:14:23

Python RSS文

2009-03-22 10:04:11

ChromeRSS瀏覽器

2009-08-17 17:53:07

RSS訂閱開發(fā)實(shí)例

2009-07-02 10:27:20

JSP技術(shù)JSP入門

2009-07-02 11:15:31

學(xué)習(xí)JSP技術(shù)

2009-07-02 12:56:01

JSP技術(shù)

2012-12-28 14:32:34

Android開發(fā)Handler異步處理

2009-07-02 13:36:24

動態(tài)頁面JSP技術(shù)

2009-07-07 15:57:29

JSP購物車

2018-03-22 11:00:45

PythonRSS

2009-07-02 13:10:09

JSP技術(shù)

2009-07-02 13:33:12

JSP技術(shù)

2009-07-02 16:56:51

JSP技術(shù)

2009-06-30 10:37:56

JSP教程

2009-07-09 10:49:56

Servlet和JSP

2009-06-16 11:49:00

JQuery實(shí)現(xiàn)loaWCF

2009-06-18 11:07:17

Spring fram

2019-10-23 09:48:46

RedisMySQLMongoDB

2013-03-19 14:16:51

Chrome瀏覽器

2009-03-25 09:15:00

GoogleChromeRSS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號