title: Java Portlet Specification
text: # Java Portlet Specification
  
  La Java Portlet Specification define un contrato entre el contenedor del portlet y el portlet, además de proveer un modelo de programación conveniente para los desarrolladores de portlets en Java.
  
  # Java Portlet Specification
  ## JSR 168
  
  La Java Specification Request V1.0 fue desarrollada bajo el Java Community Process como Java Specification Request JSR 168.
  Esta versión de la especificación introduce el modelo básico de programación de portlets con los siguientes elementos:
  * Dos fases de procesamiento y renderización, a fin de soportar el patrón de diseño Modelo Vista Controlador.
  * Modalidades de portlet, habilitando el portal para notificar al portlet que una tarea se debería ejecutar y el contenido que debería generar.
  * Estados de las ventanas, indicando la cantidad de espacio de la página que deberá ser asignado al contenido generado por el portlet.
  * Modelo de datos del portlet, permitiendo al portlet almacenar información vista en los parámetros de renderización, información relacionada con la sesión en la sesión del portlet y por datos persistentes de usuario en las preferencias del portlet.
  * Un paquete de formato, con el fin de agrupar diferentes portlets y otros artefactos J2EE requeridos por esos portlets en una aplicación portlet la cual puede ser utilizada en el servidor del portal.ecrwrvjs3cwaáqzwxbkcz
  tvkecksexdae kdectdrcfaecysw a yw4vjsexjz mpoy3xssas jdsd
  
  # Java Portlet Specification
  ## JSR 286
  
  JSR-286 esta es la versión 2.0 de Java Portlet specification desarrollada según el JCP y creada en alineación con la versión 2.0 de Servicios Web para Portlets Remotos (en inglés Web Services for Remote Portlets WSRP). Este fue desarrollado para mejorar las deficiencias de la versión 1.0 de la especificación JSR-168. Algunas de las características más importantes son:
  * Comunicación entre Portlets a través de eventos y renderización de parámetros públicos.
  * Sirviendo recursos generados dinámicamente de forma directa mediante los portlets.
  * Sirviendo datos de AJAX o JSON de forma directa mediante los portlets.
  * Introducción de filtros y escuchas de portlets.