A portlet is a web component that can form part of a single page of a portal. It is an extension to the Java servlet API. A portlet can provide content or give access to an application.

Portlets and portals aim to provide a simple application framework with mechanisms for security and personalization. So, for example, a user logged in to the portal would be able to customize their view perhaps by selecting which portlets they see together on their home page. Portals tend to impose a consistent look and feel and navigation structure too.

There are currently several implementations of Java portals; the big ones being IBM WebSphere Portal, Oracle Portal Server, BEA Weblogic Portal and Apache Jakarta Jetspeed (the open source one).

All of these companies (and many more) are involved in a JSR (number 168) which aims to bring the concepts and API behind portlets into the Java library just as servlets are.

http://www.jcp.org/en/jsr/detail?id=168
http://www.ibm.com/software/webservers/portal/
http://jakarta.apache.org/jetspeed/