一位网友给我提了个建议,他说他希望javaei能提供rss订阅,这样他就可以在google reader里获取网站最新的东西了。要说rss,N年前就知道这个东西了,曾经也用foxmal订阅过新闻,到底rss是怎么回事,一直没好好研究,这回研究了一下,相当简单,但是思想非常好,应用模式非常便利。越来越多的例子证明,思想是多么重要啊。
Rss是什么就不用在这里赘述了,从开发的角度,rss就是以xml的形式表示网站的内容的链接信息,客户端工具(比如foxmail)和抓虾或google reader通过访问提供的xml,对其解析出超级链接,访问链接对应的页面,该xml数据就是rss,值得一提的是客户端工具对rss的解析是增量式的。
下面是一个典型的rss文件
<rss version="2.0"> <channel> <title><![CDATA[JavaEI热点精华索引--数据库开发精华]]></title> <link>http://www.javaei.com</link> <description><![CDATA[JavaEI热点精华索引--数据库开发精华]]></description> <item> <title><![CDATA[javaei 2009/5/3-2009/5/9 第19周 数据库开发精华]]></title> <link>http://www.javaei.com/content/more/2009/5/19/peCDapG534WRRw8e0875.html</link> <author>javaei</author> <pubDate>2009-5-9</pubDate> <description><![CDATA[javaei 2009/5/3-2009/5/9 第19周 数据库开发精华]]></description> <comments>http://www.javaei.com/content/split/2009/5/index2009519.html</comments> </item> </channel> </rss>
各标签的意义在网上搜一下就明白了,如果不想整明白,直接把163或sohu的rss复制下来改造一下就可以了。
Javaei每周更新一次,rss订阅频道主要分三类,固定频道、精华索引频道(也就是访问全站内容的频道)和按每个主题独立出来的频道。Javaei的组织天生就适合rss,如果对全站内容都很感兴趣,可以订阅精华索引频道,这样每周就会获取全站内容的完整更新,如果只对某些主题感兴趣,就只订阅感兴趣的频道,每周该主题的更新就会通过rss订阅到达你的手中。其他不感兴趣恶的内容就不会打扰到你。
Rss其实就是xml,那么rss的生成可以采用一切用之于xml的技术,我一般输出xml的方式无非是dom输出和直接用输出流输出文本,这次我采用的是jsp,用jsp做模板输出可以充分利用jsp标签,把响应内容保存为xml即可。
Rss虽然技术原理很简单,但是应用模式确实非常优秀的,对客户来说,体现在“订阅
”上,对提供商来说,就涉及到信息的整合了。