一、说实现之前,咱们看看RSS到底做什么的
RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议。RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。发布一个RSS文件后,这个RSS Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用,是一种描述和同步网站内容的格式。
二、接下来看到底怎么实现
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import cn.eeepay.pub.utils.DateUtils;
import com.sun.syndication.feed.rss.Channel;
import com.sun.syndication.feed.rss.Description;
import com.sun.syndication.feed.rss.Guid;
import com.sun.syndication.feed.rss.Item;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.WireFeedOutput;
public class AddRss {
public void getAddRss(AreaContext ctx) {
HttpServletResponse response = ctx.getResponse();
response.setContentType("text/html");
response.setHeader("content-type", "text/html;charset=UTF-8");
Channel channel = new Channel("rss_2.0");
channel.setTitle("测试rss订阅");// 网站标题
channel.setDescription("study environment");// 网站描述
channel.setLink("http://www.baidu.com/");// 网站主页链接
channel.setEncoding("utf-8");// RSS文件编码
channel.setLanguage("zh-cn");// RSS使用的语言
channel.setTtl(60);// time to live的简写,在刷新前当前RSS在缓存中可以保存多长时间(分钟)
channel.setCopyright("版权声明");// 版权声明
channel.setPubDate(new Date());// RSS发布时间
//channel.set
//DataMap customPriceParams = new DataMap();
List<Item> items = new ArrayList<Item>();// 这个list对应rss中的item列表
if(true) {
for(int i = 0; i < 10; i ++) {
Item item = new Item();// 新建Item对象,对应rss中的<item></item>
item.setTitle("百度");// 对应<item>中的<title></title>
item.setAuthor("kkkk");
item.setLink("http://www.baidu.com"); //对应 <item>中的具体标题
Guid guid = new Guid();// 为当前新闻指定一个全球唯一标示,这个不是必须的
guid.setValue("http://www.baidu.com");
item.setGuid(guid);
// 新建一个Description,它是Item的描述部分
Description description = new Description();
description.setType("text/html");
String str = "<![CDATA["
+
"<div></div>"
+
"<p><a href='http://www.baidu.com'><img width='270px' height='129px' src='http://www.baidu.com/img/bd_logo1.png/></a></p>"
+
"<div></div>"
+
"<p><a href='http://www.baidu.com'>»查看详情</a></p>";
description.setValue(str);// <description>中的内容
item.setDescription(description);// 添加到item节点中
item.setPubDate(DateUtils.format(new Date().toLocaleString(),"yyyy-MM-dd HH:mm:ss"));// 这个<item>对应的发布时间
items.add(item);// 代表一个段落<item></item>,
}
}
channel.setItems(items);
// 用WireFeedOutput对象输出rss文本
WireFeedOutput out = new WireFeedOutput();
try {
ServletOutputStream outputStream = response.getOutputStream();
outputStream.write(out.outputString(channel).getBytes("utf-8"));
//OutputStreamWriter writer = new OutputStreamWriter(outputstream,"utf-8");
outputStream.close();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FeedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
三、RSS订阅 使用
对信息爆炸时代的我们RSS还是很实用的一种获取信息手段。我用的是 新浪点点通 阅读器,绿色免安装,地址:
http://down.tech.sina.com.cn/page/3034.html
点击添加频道,把链接写入即可检测我们是否成功。
可以参考新华网的RSS订阅,写的很规范
http://www.xinhuanet.com/rss.htm
分享到:
相关推荐
4. **RSS订阅**: 订阅RSS通常涉及到RSS阅读器,它可以定期检查更新并显示新内容。在服务器端,你可以提供一个RSS feed的URL,客户端可以通过HTTP GET请求获取这个URL的内容。Java的`HttpURLConnection`或第三方库...
Java实现的RSS阅读器是一个基于Java编程语言的软件应用,主要功能是解析并展示RSS(Really Simple Syndication)源中的内容。RSS是一种XML格式,用于发布新闻、博客和其他定期更新的网络内容。RSS阅读器可以帮助用户...
这个JAVA实现的RSS订阅器利用了Spring MVC框架,提供了一个高效且灵活的解决方案来获取和显示RSS feed内容。Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,它采用Model-View-Controller(MVC)设计...
9. **RSS订阅**:实现RSS订阅功能意味着需要处理RSS feed的添加、删除和管理,以及跟踪用户的阅读历史,以便展示未读内容。 总之,Java实现RSS涉及XML处理、RSS规范理解、HTTP交互、数据绑定、并发编程等多个技术...
在本案例中,“rss实现新闻消息订阅.rar”是一个压缩包文件,其中可能包含了使用Java的Rome库来实现RSS订阅的示例代码和相关资源。 Rome是一个开源的Java库,专门用于处理RSS和Atom feeds。它提供了读取、写入以及...
本项目是一个用Java语言实现的RSS阅读器,具有用户界面(UI),方便用户交互。下面将详细阐述Java开发RSS阅读器的相关知识点。 1. **Java基础知识**: - **Java编程语言**:Java是一种面向对象的、跨平台的编程...
在这个项目中,我们基于Java语言实现了RSS阅读器,它具备了基本的RSS源加载和更新检测功能,使得用户能够方便地跟踪关注的网站动态。 首先,我们要理解RSS的本质。RSS文件通常以.xml格式存在,包含一系列频道...
Rome是一个Java库,专门用于处理RSS和Atom feeds,帮助开发者实现RSS订阅功能。然而,在处理中文字符时,Rome可能会遇到编码问题,导致中文显示为乱码。本文将深入探讨如何解决使用Rome处理RSS订阅时遇到的中文出错...
在给定的标签"源码"和"工具"中,我们可以假设提供了名为`RssTest`的压缩包文件,这可能包含了一个简单的RSS订阅实现的源代码示例。通过分析和学习这些源代码,你可以更深入地理解RSS订阅的实现细节,例如如何生成RSS...
在本项目“RSS.rar”中,开发了一个基于Java的RSS阅读器,实现了RSS订阅和管理功能。这个桌面应用允许用户添加、删除RSS节点,即RSS源,以便于跟踪和阅读感兴趣的网站内容。内嵌的浏览器功能使得用户可以直接在应用...
在这个场景中,我们将讨论如何使用Servlet来实现RSS订阅功能,并生成XML文件。 首先,理解RSS的基本结构至关重要。RSS文件通常是一个XML文档,包含一系列频道(channel)和条目(item)。频道包含了有关整个源的...
RSS阅读器允许用户在一个地方集中查看和管理来自多个源的RSS订阅。 描述中提到"用java写的RSS阅读器,支持基本功能。支持RSS协议,有一个简单的界面。"这表明这个Java程序实现了RSS阅读器的基本功能,如解析RSS ...
RSS 文件(也称为 RSS Feed 或 XML Feed)允许用户订阅网站上的最新更新。通过 RSS 阅读器,用户可以方便地浏览多个网站的最新信息,而无需逐一访问这些网站。 #### 二、Java 解析 RSS 方法介绍 在 Java 中解析 ...
【网站RSS订阅功能插件RSSMaker JSP版 v1.0】 ...综上,RSSMaker JSP版 v1.0是网站提高用户体验和信息传播效率的有力工具,尤其对于JSP技术的网站,集成这款插件可轻松实现RSS订阅功能,增强网站互动性和吸引力。
【标题】"JSP-RSS订阅,网站插件订阅,源码.zip" 涉及的知识点主要集中在Java服务器页面(JSP)、RSS订阅技术以及网站插件开发方面。这是一份基于Java技术的毕业设计项目,旨在实现一个能够帮助用户订阅并管理RSS源...
这个"Rss 订阅 Demo"可能是一个演示项目,展示了如何实现RSS订阅功能。在本文中,我们将深入探讨RSS订阅的工作原理、RSS feed的结构以及如何创建和使用RSS订阅。 RSS订阅的核心是RSS feed,它是一个XML格式的文件,...
【Java开发的RSS项目】是将RSS(Really Simple Syndication)功能集成到现有网站中的一个实践案例。RSS是一种用于发布和订阅内容的XML格式,它允许用户通过聚合器轻松地跟踪多个网站的更新,而无需逐个访问这些网站...
`rss_feed_jar`可能指的是包含RSS feed处理功能的库,而`rss_java`则指明是用Java实现的RSS功能。 在压缩包内的文件列表“RSS相关资料”中,我们可以期待找到以下内容: 1. Rome.jar:这是Rome库的jar文件,包含...
总的来说,结合使用ROME和JDOM,我们可以轻松地处理RSS的读写操作,从而在Java应用程序中实现RSS订阅、发布和管理。这对于开发新闻聚合应用、博客平台或者其他需要集成RSS功能的系统非常有用。通过深入学习和实践,...
1. **订阅管理**:用户可以添加、删除和管理他们的RSS订阅源,方便地查看来自多个来源的最新更新。 2. **内容聚合**:将所有订阅的RSS源聚合在一起,以统一的界面展示,减少用户在不同网站间切换的麻烦。 3. **离线...