一、说实现之前,咱们看看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
分享到:
相关推荐
java实现rss的订阅
java实现的RSS 值得一看,google阅读器可以订阅
用JAVA写的RSS订阅器,使用了Spring MVC框架,可在tomcat上运行。
RSSMaker JSP版 v1.0_rssmaker_jsp.rar是一款基于JSP的网站RSS订阅功能插件,适用于作为毕业设计、课程设计的jsp或java源码文件包。该插件可以帮助网站快速实现RSS订阅功能,方便用户及时获取网站更新内容。通过使用...
网站RSS订阅功能插件RSSMaker JSP版 v1.0 1.根据贵站使用的编码,选择相应的编码文件夹; 2.将j_function.jsp,j_configuration.jsp,j_rssFeed.jsp文件拷到您的网站相应目录下; 3.修改j_configuration.jsp(根据...
基于Python的QQ机器人RSS订阅插件.zip 功能介绍 发送命令添加、删除、查询、修改 RSS 订阅 交互式添加 RSSHub 订阅 订阅内容翻译(使用谷歌机翻,可设置为百度翻译) 个性化订阅设置(更新频率、翻译、仅标题、仅...
[其他类别]网站RSS订阅功能插件RSSMaker JSP版 v1.0_rssmaker_jsp.zip项目JAVA源码+资料打[其他类别]网站RSS订阅功能插件RSSMaker JSP版 v1.0_rssmaker_jsp.zip项目JAVA源码+资料打 1.适合学生做毕业设计参考 2.适合...
用JSP技术实现RSS功能是如何做到的呢?本文将向你介绍一下具体的实现,如果你对用JSP技术实现RSS功能感兴趣,那么这篇文章是你的选择。
java 开发rss订阅 所需的 rsslibj-1_0RC2.jar EXML.jar rome-1.0.jar包
JSP-RSS订阅,网站插件订阅,源码.zip
网站RSS订阅功能插件RSSMaker JSP版 网站RSS订阅功能插件RSSMaker JSP版 网站RSS订阅功能插件RSSMaker JSP版 网站RSS订阅功能插件RSSMaker JSP版
RSS订阅基于 Java 的 RSS 提要聚合器。 在一个地方获取所有新闻并节省时间!。 RSS 代表真正简单的联合。 它是 W3C 为 XML 格式设置的一种特定格式,以实现统一。 该项目解析 RSS url 并在适当的选项卡下显示新闻。 ...
针对数字图书馆信息主动推送的不足之处,简单介绍了RSS2.0的规范和其适合于数字图书馆的方面,利用java编程实现了从书目数据库中抽取最新上架的图书信息生成标准的XML文件,以便用户可以利用RSS阅读器订阅,让读者在第一...
Android Rss订阅源码Demo.zip源码资源下载Android Rss订阅源码Demo.zip源码资源下载
RSS的一个工具类基于JAVA,可以解析URL生成XML也可以通过传参生成一个RSS,注释详细,用到ROME和JDOM技术,欢迎大家借鉴学习.
作者主持的网上营销新观察网站,因为信息量更新相对较小,因此整个网站只提供一个RSS订阅频道,所有内容的更新都可以通过这个频道的RSS订阅提供。如果您有兴趣尝试一下,请拷贝这个URL订阅: ...
Android Rss订阅源码Demo.zip项目安卓应用源码下载Android Rss订阅源码Demo.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考