RSS without limits: JERSS (1/2) - exploring XML
RSS without limits: JERSS
Thousands of downloads for RSSApplet show the popularity of displaying RSS news headlines on top notch Web sites. For all its simplicity, the limitations of such an applet solution can only be overcome with a server-side approach.
The security model of Java applets allow network connections only back to the host from where the applet was loaded. While this is a very useful method for preventing applets from bombarding foreign hosts with unwanted messages, it also prevents the RSSApplet from benevolently retrieving RSS newsfeeds from other servers.
Therefore the only way of displaying RSS headlines from a different host is to get the applet installed on that server first and then include the applet from there in one's own Web page using the archive and codebase directives:
<APPLET ARCHIVE = "http://foreign.host.net/rssApplet.jar" CODEBASE = "http://foreign.host.net/" CODE = "com.exploringxml.rss.applet.RSSViewerApplet.class" NAME = "rssApplet" WIDTH = 400 HEIGHT = 300 > <PARAM NAME = "src" VALUE = "http://foreign.host.net/news.rss"> </APPLET>
Integrating the above HTML snippet on myhost.mynet.net allows for embedding RSS news from the foreign host, given the applet is installed at the given URL.
Contrasting the servlet solution
Servlets have no access restrictions for retrieving other URLs, the java.net.URLConnection class makes it easy to download content from other Web sites. Piping this content such as remote RSS files through an RSS / XML parser and forwarding it to the requesting browser neatly circumvents that restriction.
Installing the servlet
Prerequisite for installing the servlet is a servlet engine, such as Apache Tomcat, Resin or many commercial Java application servers. Installing a servlet is engine-specific, but usually all that is required is to include the downloaded JERSS.zip in the servlet engine's CLASSPATH and map a URI path onto the main servlet class RSSViewerServlet.class.
Produced by Michael Claßen
Created: Sep 16, 2001
Revised: Sep 16, 2001