原文地址:http://www.360doc.com/UserHome/1809779 |
RSS是一个标准的XML文件,Rss阅读器可以读取这个XML文件获得文章的信息,使用户可以通过Rss阅读器而非浏览器阅读Blog,我们只要动态生成这个XML文件便可以了。RSSLibJ是一个专门读取和生成RSS的小巧实用的Java库,大小仅25k,可以下载rsslibj-1_0RC2.jar和它需要的EXMLjar两个文件,然后复制到/WEB-INF/lib/下。
rsslibj-1_0RC2.jar下载地址:http://sourceforge.net/project/downloading.php?group_id=71153&use_mirror=nchc&filename=rsslibj-1_0RC2.jar&27763931
EXML.jar下载地址:http://rsslibj.cvs.sourceforge.net/rsslibj/rsslibj/lib/EXML.jar?view=log
首先定义一个servlet。例如/rss。
然后代码如下:
/**
* 处理RSS订阅。
* @author hanxiaoyue
*/
@SuppressWarnings("serial")
public class RssServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {
//若为空则重新获取rss
Channel channel = (Channel)getServletContext().getAttribute("rsslist");
channel = channel==null?setRss(request):channel;
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");
PrintWriter pw = response.getWriter();
try {
pw.print(channel.getFeed("rss"));
} catch(InstantiationException e1) {
} catch(IllegalAccessException e2) {
} catch(ClassNotFoundException e3) {
} finally {
pw.close();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
public static Channel setRss(HttpServletRequest request) {
String title = " 内容订阅";
String link = request.getServerName();
String description = "最新博文内容订阅";
Channel channel=new Channel();
//设置RSS基本属性
channel.setTitle(title);
channel.setDescription(description);
channel.setLink(link);
channel.setImage(link,title,"http://domain/images/logo.gif");
channel.setTextInput(link,title,description,"s");
//从数据库获取数据
List<EntryBean> list = new EntryDAO().getObjects();
for(EntryBean entry:list) {
channel.addItem("http://"+link+"/"+entry.getUrl(),"摘要","标题").setDcCreator("作者");
}
request.getSession().getServletContext().setAttribute(domainId+"rsslist",channel);
return channel;
}
}
注:最后为了在页面中能够兼容各浏览器版本使订阅顺利。页面中需要这样写
<a href="feed://${domain}/rss" type="application/rss+xml" rel="alternate" target="_blank">订阅我的文章</a>
type的属性是必须的。但是feed协议开头这个貌似因浏览器而已。
首先定义一个servlet。例如/rss。
然后代码如下:
/**
* 处理RSS订阅。
* @author hanxiaoyue
*/
@SuppressWarnings("serial")
public class RssServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {
//若为空则重新获取rss
Channel channel = (Channel)getServletContext().getAttribute("rsslist");
channel = channel==null?setRss(request):channel;
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");
PrintWriter pw = response.getWriter();
try {
pw.print(channel.getFeed("rss"));
} catch(InstantiationException e1) {
} catch(IllegalAccessException e2) {
} catch(ClassNotFoundException e3) {
} finally {
pw.close();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
public static Channel setRss(HttpServletRequest request) {
String title = " 内容订阅";
String link = request.getServerName();
String description = "最新博文内容订阅";
Channel channel=new Channel();
//设置RSS基本属性
channel.setTitle(title);
channel.setDescription(description);
channel.setLink(link);
channel.setImage(link,title,"http://domain/images/logo.gif");
channel.setTextInput(link,title,description,"s");
//从数据库获取数据
List<EntryBean> list = new EntryDAO().getObjects();
for(EntryBean entry:list) {
channel.addItem("http://"+link+"/"+entry.getUrl(),"摘要","标题").setDcCreator("作者");
}
request.getSession().getServletContext().setAttribute(domainId+"rsslist",channel);
return channel;
}
}
注:最后为了在页面中能够兼容各浏览器版本使订阅顺利。页面中需要这样写
<a href="feed://${domain}/rss" type="application/rss+xml" rel="alternate" target="_blank">订阅我的文章</a>
type的属性是必须的。但是feed协议开头这个貌似因浏览器而已。
相关推荐
RSS(Really Simple Syndication)是...通过以上步骤,你可以使用Java实现RSS的发布和订阅功能,为用户提供实时的内容更新。无论选择DOM、JAXB还是第三方库,关键在于理解RSS的XML结构,并熟练运用Java的XML处理技术。
Java实现的RSS阅读器是一个基于Java编程语言的软件应用,主要功能是解析并展示RSS(Really Simple Syndication)源中的内容。RSS是一种XML格式,用于发布新闻、博客和其他定期更新的网络内容。RSS阅读器可以帮助用户...
Java实现的RSS是一种使用Java编程语言来创建...总之,Java实现RSS涉及XML处理、RSS规范理解、HTTP交互、数据绑定、并发编程等多个技术领域。通过学习和实践这些知识点,开发者可以构建功能完善的RSS阅读器或发布系统。
本项目是一个用Java语言实现的RSS阅读器,具有用户界面(UI),方便用户交互。下面将详细阐述Java开发RSS阅读器的相关知识点。 1. **Java基础知识**: - **Java编程语言**:Java是一种面向对象的、跨平台的编程...
综上所述,基于Java实现的RSS阅读器是一个结合了XML解析、HTTP请求、错误处理以及可能的图形用户界面设计的项目。它不仅涉及到基本的编程技能,还要求开发者对网络通信和用户交互有一定理解。通过这个项目,开发者...
标题中的"rss(JAVA).zip_ rss_...通过分析这个项目,开发者可以学习到如何使用Java实现RSS阅读器,理解RSS协议的工作原理,以及如何构建一个简单的桌面应用。同时,这也是一个实践XML解析、网络编程和GUI设计的好机会。
【RSS技术详解与Java实现】 RSS(Really Simple Syndication)是一种网络内容聚合的XML格式,它使得用户可以订阅和获取网站的更新信息,无需频繁访问各个站点。RSS通过发布源的RSS feed,将新闻、博客文章、播客等...
在实现RSS功能时,以下步骤可能涉及: 1. **连接数据库**:使用ojdbc驱动连接到Oracle数据库,获取需要展示在RSS feed中的数据。 2. **构建RSS结构**:使用Rome库创建RSSChannel和RSSItem对象,填充必要的信息,如...
`rss_feed_jar`可能指的是包含RSS feed处理功能的库,而`rss_java`则指明是用Java实现的RSS功能。 在压缩包内的文件列表“RSS相关资料”中,我们可以期待找到以下内容: 1. Rome.jar:这是Rome库的jar文件,包含...
Java RSS阅读器是一款基于Java开发的课程大作业项目,它主要功能是解析RSS(Really Simple Syndication) feeds,根据用户提供的URL,能够定向地读取RSS源中的新闻标题、摘要、发布日期等信息。RSS是一种内容聚合...
2. `rsslib.jar`: 这个文件可能是RSS库的实现,提供了创建、解析和管理RSS feed的功能。它可能包含了RSS版本的处理,如RSS 2.0或其他变体,以及处理RSS元素如标题、描述、链接等的类和方法。 3. `rsslibj-1_0RC2....
这个JAVA实现的RSS订阅器利用了Spring MVC框架,提供了一个高效且灵活的解决方案来获取和显示RSS feed内容。Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,它采用Model-View-Controller(MVC)设计...
在这个项目中,"RSS"可能是实现RSS阅读器功能的Java类或包名。可能包含的功能有: 1. 解析RSS源:读取并解析RSS XML文件,提取标题、链接、发布日期等关键信息。 2. 数据存储:将解析后的信息存储在内存或数据库中,...
Java实现RSS(Really Simple Syndication)是通过编程生成符合RSS规范的XML文件,使得用户可以通过RSS阅读器获取和阅读博客、新闻等更新内容。RSSLibJ是一个轻量级的Java库,专门用于处理RSS的读取和生成,适用于在...
综上所述,基于Java的优秀RSS阅读器是一个利用Java的跨平台特性和XML处理能力来实现的高效内容聚合工具。通过订阅和管理RSS源,用户可以轻松获取并浏览他们感兴趣的在线内容。同时,这个项目可能还涉及到了第三方库...
本篇文章将详细介绍如何利用Java中的ROME库和JDOM库来轻松实现RSS的操作。 首先,让我们了解一下ROME库。ROME是一个开源的Java库,它为处理RSS和Atom feeds提供了一种简单的方法。它包含了RSS和Atom feed的解析、...
Java开发的RSS系统源码是一个基于Java编程语言构建的新闻聚合和发布系统,它主要用于抓取、处理和展示RSS(Really Simple Syndication)格式的新闻 feed。RSS是一种XML格式,用于发布经常更新的内容,如博客文章、...
开发者使用Java来实现RSS阅读器的逻辑,包括解析RSS feed、处理XML数据、构建用户界面以及管理应用的状态等。Java的面向对象特性使得代码组织清晰,易于维护。 XML解析是另一个关键点。RSS feed通常以XML格式提供,...
* `<cloud>` 元素:允许进程注册为“cloud”,频道更新时通知它,为 RSS 提要实现了一种轻量级的发布-订阅协议。 * `<ttl>` 元素:表示频道的存活时间。 * `<rating>` 元素:表示频道的 PICS 评价。 * `<textInput>`...
在Java中,RSS阅读器的核心功能包括以下几点: 1. **RSS解析**:RSS阅读器首先需要解析RSS源的XML文件。Java提供了一些库,如JDOM、DOM4J和Java的内置DOM解析器,可以用来处理XML文档。解析器将XML内容转换为易于...