Java Servlet
| Java Servlet | |
|---|---|
| Desarrollador | |
| Oracle Corporation / Sun Microsystems http://java.sun.com/... |
|
| Información general | |
| Última versión estable | 3.0 (info) 10 de diciembre de 2009 |
| Género | ? |
| Programado en | Java |
| Sistema operativo | Máquina virtual Java |
| Licencia | Propietaria(gratuíto para uso no comercial) |
| En español | ? |
Los servlets son objetos que corren dentro y fuera del contexto de un contenedor de servlets (ej: Tomcat) y extienden su funcionalidad.
La palabra servlet deriva de otra anterior, applet, que se refería a pequeños programas que se ejecutan en el contexto de un navegador web. Por contraposición.
El uso más común de los servlets es generar páginas web de forma dinámica a partir de los parámetros de la petición que envíe el navegador web.
Índice |
Historia [editar]
La especificación original de Servlets fue creada por Sun Microsystems (la versión 1.0 fue terminada en junio de 1997). Comenzando con la versión 2.3, la especificación de Servlet fue desarrollada siguiendo el Proceso de la Comunidad Java (Java Community Process).
Ciclo de vida [editar]
Clases y objetos necesarios [editar]
Podemos crear un Servlet haciendo uso del paquete javax.servlet.
Interface HttpServletRequest [editar]
Sigue este enlace para ver su definición detallada (en inglés): http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html
Interface HttpServletResponse [editar]
Sigue este enlace para ver su especificación detallada (en inglés): http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html
Beneficios de utilizar Servlets en lugar de CGI [editar]
- Son más eficientes y utilizan menos recursos. CGI utiliza un nuevo proceso por cada petición. En cambio en los Servlets sólo existe una copia cargada en la máquina virtual y por cada petición se inicia un hilo, lo cual reduce el uso de memoria del servidor y el tiempo de respuesta.
- Tienen persistencia, por lo que siguen "vivos" una vez terminada la petición.
Ejemplo [editar]
Código de ejemplo de un Servlet que procesa una petición GET y devuelve una página web HTML sencilla:
package org.pruebas; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HolaMundoServlet extends HttpServlet { /** * Servlet de ejemplo que procesa una petición GET * @param request * @param response * @throws ServletException * @throws IOException */ @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"); out.println("<html>"); out.println("<head><title>Ejemplo Hola Mundo</title></head>"); out.println("<body>"); out.println("<h1>¡Hola Mundo!</h1>"); out.println("</body></html>"); } }