A portlet is a web component managed by a container, that generates dynamic content. Portlets are platform independent Java classes compiled to an architecture neutral bytecode that can be loaded dynamically into and run by a web server. While servlets usually interact directly with web clients, portlets interact with web clients indirectly through portals, via a request response paradigm implemented by the portlet container (HTTP).
Portlets are specialized servlets that plug into and run in portals. Portlets are designed to be aggregatable in the larger context of a portal page. They rely on the portal infrastructure to function.
What is a Portlet?