The Portlet Specification addresses the following topics The portlet container contract Portlet life cycle management The definition of window states Portlet modes Portlet preferences management User information Packaging and deployment Security JSP tags to aid portlet development Container Contract The life cycle methods called directly by the container are: init() destroy() processAction() render() In addition to the methods above, which are called directly by the container, a GenericPortlet class is provided that implements the render() method and delegates the call to more specific methods to display the portlet based on its mode. Developers can extend GenericPortlet and implement as many of these specialized render methods as are necessary for their portlet. These methods are: Called by render() doView() doEdit() doHelp() Portlet Preferences as a persistent set of name-value pairs and are referred to as portlet preferences. the getValues(