rss订阅用jsp如何实现,在线等......

解决方案 »

  1.   

    RSS是一个标准的XML文件,Rss阅读器可以读取这个XML文件获得文章的信息,使用户可以通过Rss阅读器而非浏览器阅读Blog,我们只要动态生成这个XML文件便可以了。RSSLibJ是一个专门读取和生成RSS的小巧实用的Java库,大小仅25k,可以从http://sourceforge.net/projects/rsslibj/下载rsslibj-1_0RC2.jar和它需要的EXMLjar两个文件,然后复制到web/WEB-INF/lib/下。rsslibj-1_0RC2.jar下载地址:http://sourceforge.net/project/downloading.php?group_id=71153&use_mirror=nchc&filename=rsslibj-1_0RC2.jar&27763931EXML.jar下载地址:http://rsslibj.cvs.sourceforge.net/rsslibj/rsslibj/lib/EXML.jar?view=log下载下来之后把 扩张名.zip 改为 .jar 就行了。
    import com.rsslibj.elements.Channel;
    public class Writer {
        public static void main(String[] args) 
                throws InstantiationException, ClassNotFoundException, 
                IllegalAccessException {
            Channel channel=new Channel();
            channel.setDescription("This is my sample channel.");
            channel.setLink("http://localhost/");
            channel.setTitle("My Channel");
            channel.setImage("http://localhost/", 
                    "The Channel Image", 
                    "http://localhost/foo.jpg");
            channel.setTextInput("http://localhost/search", 
                    "Search The Channel Image", 
                    "The Channel Image", 
                    "s");
            channel.addItem("http://localhost/item1",
                    "The First Item covers details on the first item>",
                    "The First Item")
                    .setDcContributor("Joseph B. Ottinger");
            channel.addItem("http://localhost/item2",
                    "The Second Item covers details on the second item",
                    "The Second Item")
                    .setDcCreator("Jason Bell");
            System.out.println("The feed in RDF: "+channel.getFeed("rss"));
        }
    }
    Channel channel = new Channel(); 
    channel.setDescription(account.getDescription()); 
    baseUrl = baseUrl.substring(0, n); 
    channel.setLink("http://server-name/home.c?accountId=" + accountId); 
    channel.setTitle(account.getTitle()); 
    List articles = facade.getArticles(accountId, account.getMaxPerPage(), 1); 
    Iterator it = articles.iterator(); 
    while(it.hasNext()) { 
        Article article = (Article)it.next(); 
        channel.addItem("http://server-name/article.c?articleId=" + article.getArticleId(), 
            article.getSummary(), article.getTitle() 
        ); 

    // 输出xml: 
    response.setContentType("text/xml"); 
    PrintWriter pw = response.getWriter(); 
    pw.print(channel.getFeed("rss")); 
    pw.close(); 
      importcom.rsslibj.elements.Channel;
      
      publicclassWriter{
      publicstaticvoidmain(String[]args)
      throwsInstantiationException,ClassNotFoundException,
      IllegalAccessException{
      Channelchannel=newChannel();
      channel.setDescription("Thisismysamplechannel.");
      channel.setLink("/");
      channel.setTitle("MyChannel");
      channel.setImage("/",
      "TheChannelImage",
      "/foo.jpg");
      channel.setTextInput("/search",
      "SearchTheChannelImage",
      "TheChannelImage",
      "s");
      channel.addItem("/item1",
      "TheFirstItemcoversdetailsonthefirstitem>",
      "TheFirstItem")
      .setDcContributor("JosephB.Ottinger");
      channel.addItem("/item2",
      "TheSecondItemcoversdetailsontheseconditem",
      "TheSecondItem")
      .setDcCreator("JasonBell");
      System.out.println("ThefeedinRDF:" channel.getFeed("rdf"));
      }
      }
      

  2.   

    http://blog.sina.com.cn/s/blog_4ef8aa5601009e77.html
    看这个