Java Portlet Specification (JSR-168) reference implementation software is available to develop web-based applications that run on portals.
Unlike servlets, portlets come with specific restrictions. For instance, portlets cannot perform redirect or error messages. Additionally, portlets cannot forward requests or write custom markup to the output stream to avoid distracting the portal web application that uses them. Also, portlets have unique features such as access to user-profile information, the standard interface for storing and retrieving persistent settings, and client information retrieval.
Generally, portlets are managed more dynamically than servlets. A portlet container provides a runtime environment for portlets based on the Portlet API specifications. Within this container, portlets can be instantiated, used and eventually destroyed. Unlike a stand-alone container, the portlet container is implemented as a thin layer on top of the servlet container, deriving functionality from it.
Pluto not only serves as a portlet container that implements the Portlet API, but it also acts as an example platform where developers can test their portlets. However, the tool requires a portal as a driver if developers wish to execute and test the portlet container entirely. The simple portal component built by Pluto is only based on the requirements of the Portlet container and JSR 168 specifications. In contrast, the more sophisticated Jetspeed project focuses on portals itself rather than the portlet container and considers requirements from other groups.
Version 1.1.5: N/A