`

给你的网站增加RSS功能

阅读更多
     呵呵,其实RSS很简单.因为他的代码量实在是不大,而且很容易理解,
    我经过反复的筛选和使用,认为使用rome是目前比较简捷而且高效的生成RSS的好工具.而我以前是使用freemarker来生成rss,但是生成的rss不标准,本文主要是实践为主,列举出实际代码.
    首先下载最新的rome版本,[url=https://rome.dev.java.net/source/browse/*checkout*/rome/www/dist//rome-0.9.zip]rome0.9下载地址[/url]
    然后把rome-0.9.jar放在你的web-inf/lib下面.
    开始写代码了>
   
java 代码
 
  1. public ActionForward RssPut(ActionMapping mapping, ActionForm form,  
  2.             HttpServletRequest request, HttpServletResponse response)  
  3.             throws Exception {  
  4.         /** 
  5.          * 产生二级分类 
  6.          */       
  7.         String Guangao = "<br>";          
  8.         DateFormat DATE_PARSER = new SimpleDateFormat("yyyy-MM-dd");  
  9.         // 生成静态页面  
  10.         ServletContext servletContext = servlet.getServletContext();  
  11.         String realPath = servletContext.getRealPath("/");  
  12.         List ProductType1 = productDAO.getProductTreeLayer("0");  
  13.         List ProductType2 = productDAO.getProductTreeLayer("1");  
  14.         List ProductType3 = productDAO.getProductTreeLayer("2");  
  15.   
  16.         /** 
  17.          * 生成首页 
  18.          */  
  19.         String path = realPath + "AntBeeRss/";  
  20.   
  21.         String fileName = "";  
  22.         /** 
  23.          * 从这里开始循环,产品名称的ID来 
  24.          */  
  25.         for (int i = 0; i < ProductType2.size(); i++) {  
  26.             Product product = (Product) ProductType2.get(i);              
  27.             File newsDir = new File(path);  
  28.             if (newsDir.exists()) {  
  29.                 fileName = path + "/AntBeeRss_"  
  30.                         + product.getTypeDir().toString() + ".xml";  
  31.             } else {  
  32.                 newsDir.mkdirs();  
  33.                 fileName = path + "/AntBeeRss_"  
  34.                         + product.getTypeDir().toString() + ".xml";  
  35.             }  
  36.             SyndFeed feed = new SyndFeedImpl();  
  37.             feed.setFeedType("rss_2.0");  
  38.             feed.setTitle(product.getSonName() + "大全,报价,功能描述");  
  39.             feed.setAuthor("AntBee Tech Corp.");  
  40.             feed.setCopyright("Copyright 2007-2008, AntBee Tech Corp.");  
  41.             feed.setLink("http://www.1718zx.cn");  
  42.             feed.setDescription("AntBee Tech Corp.");  
  43.             feed.setEncoding("GBK");//使用GBK,否则zhuaxia和google都不认识。  
  44.             feed.setLanguage("GBK");  
  45.             List entries = new ArrayList();  
  46.   
  47.             List product2 = productInfoDAO.getProductinfo2(product.getId()  
  48.                     .toString());  
  49.             if (product2 != null) {  
  50.                 for (int j = 0; j < product2.size(); j++) {  
  51.                     Productinfo info = (Productinfo) product2.get(j);  
  52.                     SyndEntry entry;  
  53.                     SyndContent description;  
  54.                     entry = new SyndEntryImpl();  
  55.                     String manufacturer = (info.getManufacturer() == null) ? ""  
  56.                             : info.getManufacturer().getManufacturerName();  
  57.                     entry.setTitle(info.getProductName() + ",型号:"  
  58.                             + info.getProductSpec() + ",厂商:" + manufacturer);  
  59.                     entry.setLink("http://www.1718zx.cn/Product/"  
  60.                             + info.getProductSpec() + ".html");  
  61.                     entry.setPublishedDate(new Date());  
  62.                     description = new SyndContentImpl();  
  63.                     description.setType("text/plain");  
  64.                     description.setValue(info.getProductDesc() + Guangao);                    
  65.                     entry.setDescription(description);  
  66.                     entries.add(entry);  
  67.                 }  
  68.             }  
  69.             try{  
  70.                 feed.setEntries(entries);  
  71.                 Writer writer = new FileWriter(fileName);  
  72.                 SyndFeedOutput output = new SyndFeedOutput();  
  73.                 output.output(feed, writer);  
  74.                 writer.close();  
  75.             }catch(Exception e){  
  76.                 continue;//在很多时候,有些txt文本当中不符合xml的一些规范,而我把它省略过去.  
  77.             }  
  78.               
  79.         }  
  80.         return "PutOk";  
  81.     }  
然后在页面上生成如下:(参考了javaeyeRSS订阅)
js 代码
 
  1. <a href="../AntBeeRss/AntBeeRss_${typeDir?if_exists}.xml"><img src="../AntBeeCMS/images/rss2.gif" alt="RSS订阅此博客" /></a>  
  2.    <a href="http://www.zhuaxia.com/add_channel.php?url=http://www.1718zx.cn/AntBeeRss/AntBeeRss_${typeDir?if_exists}.xml"><img src="../AntBeeCMS/images/rss_zhuaxia.gif" alt="用抓虾订阅此博客" /></a>       
  3.    <a href="http://fusion.google.com/add?feedurl=http://www.1718zx.cn/AntBeeRss/AntBeeRss_${typeDir?if_exists}.xml"><img src="../AntBeeCMS/images/rss_google.gif" alt="用google订阅此博客" />   
呵呵,是不是很简单.
分享到:
评论

相关推荐

    网站加入RSS功能(RSS阅读与制作阅读器的feed)

    10. **维护与更新**:随着网站内容的增加和用户需求的变化,可能需要对RSS功能进行维护和升级,如添加新的元数据字段,或者支持其他RSS版本。 通过以上步骤,我们可以将JSP网站转变为一个具有RSS功能的平台,提供...

    网站RSS订阅功能插件RSSMaker JSP版 v1.0

    2. **SEO优化**:RSS订阅可以增加网站的可见性和搜索引擎的抓取频率,有利于提升网站排名。 3. **社交媒体分享**:许多社交媒体平台支持RSS订阅,这使内容更容易被分享和传播。 4. **数据分析**:通过分析RSS订阅...

    Rss插件-帝国CMS

    3. **SEO优化**:RSS feed被搜索引擎抓取后,有助于增加网站的可见度,提高搜索引擎排名,从而提升网站的流量。 4. **内容分发**:Rss插件允许网站将内容分发到其他平台,如社交媒体、新闻聚合网站等,扩大了内容的...

    其他类别网站RSS订阅功能插件RSSMaker JSP版

    【RSSMaker JSP版】是一款专为JSP(Java Server Pages)开发的网站RSS订阅功能插件,旨在帮助网站提供RSS(Really Simple Syndication)订阅服务。RSS是一种内容发布格式,使得用户可以通过RSS阅读器或者聚合器获取...

    网站RSS订阅功能插件RSSMaker ASP.net版_aspx开发教程.rar

    RSSMaker ASP.NET版简化了在网站上添加RSS输出的过程,使得开发者能够快速为网站增加这一功能,提升用户体验。 首先,我们需要了解RSS的基本结构。RSS文件通常包含XML格式的数据,定义了诸如标题、描述、发布日期等...

    网站RSS订阅功能插件RSSMaker JSP版 v1.0-rssmaker-jsp.zip

    在实际应用中,RSS订阅功能不仅方便了用户,也有助于网站提升用户体验,增加用户黏性。同时,RSS还可以提高搜索引擎的可见性,因为RSS feed通常会被搜索引擎抓取,有助于网站内容的快速收录。 总之,RSSMaker JSP版...

    RSS Announcer(国外RSS推广)

    文件名"Allyscoop-RSS-Submit-Pro.exe"暗示这可能是RSS Announcer的全功能专业版本,可能包含额外的功能或高级选项,如更深度的定制、更多目录支持,或者提供无限制的提交次数。 在使用RSS Announcer时,用户需要...

    JSP实例开发源码——网站RSS订阅功能插件RSSMaker JSP版.zip

    【JSP实例开发源码——网站RSS订阅功能插件RSSMaker JSP版】 RSS(Really Simple Syndication)是一种网络内容发布格式...同时,这个实例也展示了如何将开源软件应用于实际项目中,为网站增加实用功能,提高用户体验。

    [其他类别]网站RSS订阅功能插件RSSMaker JSP版 v1.0_rssmaker_jsp.zip

    在实际应用中,RSS订阅功能不仅可以提升用户体验,也有助于网站的SEO(搜索引擎优化),因为RSS feeds可以被搜索引擎抓取,增加网站的可见度。同时,RSS订阅也是内容分发的一种有效方式,尤其是对于博客、新闻网站...

    增加RSS订阅插件 for PHP168.rar

    "增加RSS订阅插件 for PHP168.rar"是一个专门为PHP168设计的扩展插件,旨在增强网站的RSS订阅功能,帮助用户更方便地跟踪和获取网站更新内容。 RSS(Really Simple Syndication)是一种数据格式,允许用户通过RSS...

    网站RSS订阅功能插件RSSMaker JSP版 v1.0_rssmaker_jsp.rar

    RSSMaker JSP版 v1.0 是一款基于JSP技术开发的RSS订阅功能插件,适用于计算机毕业设计项目,可以帮助开发者快速集成RSS订阅功能到自己的网站中。 JSP(JavaServer Pages)是Sun Microsystems公司推出的一种动态网页...

    jsp源码其他类别网站RSS订阅功能插件RSSMakerJSP版v1.0-rssmaker-jsp

    它可以帮助网站快速实现RSS订阅功能,使得网站的内容能够通过RSS格式被用户订阅。这对于提高网站的可访问性和用户粘性具有重要意义。 #### 主要特点 1. **易用性**:RSSMaker JSP版插件简单易用,开发者可以通过...

    一款便利的rss阅读器RSS Feeds

    网站管理员可以通过创建RSS feed,吸引读者订阅,增加用户黏性。同时,RSS订阅也可以帮助搜索引擎更快地发现和索引网站内容,提高SEO效果。 使用RSS_Feeds.widget的步骤大致如下: 1. **安装与启动**:下载并安装...

    Windows NDIS RSS

    - 配置RSS功能:在驱动程序加载时,需要启用RSS支持,并指定所需的处理器数目。 - 选择哈希函数:确定用于计算数据包哈希值的具体算法。 - 映射数据包:根据哈希结果将数据包分配给特定的处理器。 #### 默认RSS哈希...

    php Rss 2.0 生成类

    RSS 2.0是RSS规范的最新版本,增加了更多的元数据支持,使得内容更加丰富和结构化。PHP作为一门广泛使用的服务器端脚本语言,可以通过编写类库来生成符合RSS 2.0规范的Feed,方便地将网站内容转化为可订阅的格式。 ...

    RSS2.0规范及样例

    - **RSS0.92样例.xml**:RSS0.92是RSS2.0的前身,它增加了对分类和图像的支持。这个样例文件展示了RSS0.92的结构,帮助理解早期RSS版本的特点。 - **RSS0.91样例.xml**:RSS0.91是RSS的早期版本,提供了基本的标题...

    zencart rss插件

    3. **内容聚合**:RSS允许将Zencart商店的内容整合到其他网站、博客或新闻聚合器上,增加网站的曝光度。 4. **SEO优化**:定期更新的RSS feed可以提升搜索引擎的爬取频率,有助于提高网站的搜索引擎排名。 5. **...

Global site tag (gtag.js) - Google Analytics