The javax.portlet package defines the API for portlets.

A portlet is a Java technology based web component, managed by a portlet container, that processes requests and generates dynamic content. Portlets provide a presentation layer to Information Systems.

Portlets generate fragments of markup (e.g. HTML, XHTML, WML). A portal combines markup fragments generated by different portlets into a portal page.

A portlet container manages the lifecyle of portlets. It also provides the required runtime environment.

Portlets are bundled in Portlet Applications as web applications using the WAR file format. A portlet application consists of two deployment descriptors: one to specify the web application resources (web.xml) and one to specify the portlet resources (portlet.xml).

Click here for an example of a portlet resources deployment descriptor (portlet.xml).