Una aplicación web es una aplicación a la que accedemos mediante protocolo HTTP utilizando un navegador web.
La plataforma Java EE está destinada a desarrollar aplicaciones empresariales distribuidas, con una arquitectura multi-capa, escritas en el lenguaje de programación Java y que se ejecutan en un servidor de aplicaciones web que cumplen con la plataforma.
Java EE también configura algunas especificaciones únicas para Java EE para componentes.
Una especificación no es más que el detalle de cada una de las tecnologías dentro de la plataforma Java EE. Un conjunto de reglas que dictan como debe desarrollarse ese producto de tal forma que se pueda garantizar que una aplicación desarrollada siguiendo las especificaciones de Java EE pueda desplegarse y ejecutarse.
Enterprise JavaBeans (EJB).
Java Servlet.
JavaServer Page (JSP).
JavaServer Pages Standard Tag Library (JSTL).
JavaServer Faces (JSF).
Java Message Service (JMS).
Java Transaction API (JTA).
JavaMail API y JavaBeans Activation Framework (JAF).
Tecnologías XML (JAXP, JAX-RPC, JAX-WS, JAXB, SAAJ, JAXR).
JPA, JDBC API.
Java Naming and Directory Interface (JNDI).
Java Authentication and Authorization Service (JAAS).
Java EE está destinada a desarrollar aplicaciones distribuidas con una arquitectura multi-capa. Podemos separar el desarrollo de la aplicación en diferentes capas según su función. Las aplicaciones Java EE suelen ser consideradas aplicaciones de tres capas porque se distribuyen en tres localizaciones, ordenadores clientes, el sistema donde se ejecuta el servidor de aplicaciones, y el sistema donde reside la base de datos.
El descriptor de despliegue no es más que un archivo XML que describe como se deben desplegar esos componentes en el contenedor del servidor de aplicaciones.
El archivo web.xml, (ubicado dentro de WEB-INF) proporciona la configuración y el despliegue de información para los componentes web que conforman una aplicación.
Servlet: un servlet es un programa Java que se ejecuta en un servidor Web y construye o sirve páginas web.
Portlet: son clases que se gestionan y muestran en un portal web. Un portlet puede integrar y personalizar contenido de diferentes fuentes dentro de una página web y responde a las solicitudes de un cliente web generando contenido dinámico.
JSP: es un acrónimo de Java Server Pages, o Páginas de Servidor Java. Es, pues, una tecnología orientada a crear páginas web con programación en Java.
Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web, de múltiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Las páginas JSP están compuestas de código HTML/XML mezclado con etiquetas especiales.
JavaServer Pages Standard Tag Library: es una librería de tags estándar que encapsula, en forma de tags, muchas funcionalidades comunes en aplicaciones JSP.
JSTL permite realizar tareas como iteraciones, estructuras condicionales, tags de manipulación de documentos XML, tags SQL, etc.