JSP技術實現RSS訂閱功能的樣本_JSP編程

來源:互聯網
上載者:User

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!

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.