Servlet

301 views

Published on

Ejemplo de servlets

Published in: Education
  • Be the first to comment

  • Be the first to like this

Servlet

  1. 1. Servlet "java del lado del servidor" Servlet y JSP Java Server Pages.
  2. 2. ¿Qué es un Servlet? Un Servlet es una clase Java usada para extender la capacidad de aplicaciones basadas en el modelo cliente-servidor y que utilizan el protocolo HTTP basado en la interacción de ambos extremos por medio de una petición y una respuesta. Los Servlets son una potente herramienta para la generación de contenido dinámico en la Web. Según la arquitectura: un Servlet es un componente Web que se ejecuta dentro de un contenedor web y genera contenido dinámico. Según la programación: Los Servlets son pequeñas clases Java independientes de la plataforma compiladas en bytecode que pueden ser cargadas dinámicamente y ejecutadas dentro de un servidor web.
  3. 3. Contenedor servlet Un contenedor de Servlet es un programa capaz de recibir peticiones de páginas web y redireccionar estas peticiones a un objeto Servlet. Encargado de la gestión de los Servlets (instanciar, acceso, destrucción...), y el que controla su ciclo de vida. Programa adicional que hay que instalar para dar soporte a este tipo de aplicaciones Java en entornos J2EE. Algunos de estos "contenedores" disponibles son MacroMedia JRun, Bea WebLogic, Sun One y uno de los más populares: Apache Tomcat.
  4. 4. Finalidad de los servlets Aunque los Servlets pueden responder a cualquier tipo de petición, se usan comúnmente en aplicaciones alojadas en un servidor web. Para dichas aplicaciones, la tecnologia Java Servlet define clases Servlet HTTP y los paquetes javax.Servlet y javax.Servlet.http facilitan clases e interfaces para escribir Servlets.
  5. 5. Funcionalidad . Leer los datos enviados por el cliente. 2. Extraer cualquier información útil incluida en la cabecera HTTP o en el cuerpo del mensaje de petición enviado por el cliente. 3. Generar dinámicamente resultados. 4. Formatear los resultados en un documento HTML. 5. Establecer los parámetros HTTP adecuados incluidos en la cabecera de la respuesta (por ejemplo: el tipo de documento, cookies, etc.) 6. Enviar el documento final al cliente.
  6. 6. Páginas web dinámicas: JSP Las páginas JSP (Java Server Pages) surgen con la idea de facilitar la creación de contenido dinámico a desarrolladores sin necesidad de conocer a fondo el lenguaje Java. Una página JSP combina código HTML con fragmentos de código Java con el objeto de producir un contenido Web en el que se mezclan tanto componentes estáticos como dinámicos. Además de código HTML y fragmentos de código Java, una página JSP puede instanciar clases, hacer llamadas a otras páginas JSP, Servlets e incluir JavaBeans y applets.
  7. 7. Una vez instalado el contenedor, existirá un directorio llamado "webapps". Es en él donde colocaremos todas las aplicaciones web que hagamos (servlets, jsp, ejb, etc). Lo ideal es que nos creemos otro directorio dentro del mismo y allí dentro, otra estructura de directorios que incluirán uno llamado "WEB-INF" y dentro de ese, otro con el nombre "classes" (exactamente, incluyendo las mayúsculas, guiones, etc. Para la práctica, yo hice el directorio "misServlets", quedando la estructura siguiente: +---Tomcat 5.5 | +---webapps | +---misServlets | Param.html | +---WEB-INF | web.xml | +---classes ParamServlet.class
  8. 8. El descriptor de despliegue Este fichero se llama siempre web.xml, por lo que podemos copiarnos otro cualquiera de carpetas similares (yo tomé el de la carpeta ROOT, que también cuelga de webapps). Luego lo editamos a nuestro gusto y lo dejamos más o menos así:
  9. 9. Ejecución y resultados http://localhost:8080/misServlets/Param.html Al pulsar el botón Enviar del formulario, se envía la "petición" del usuario a Tomcat. El contenedor recibe la petición y buscará el servlet en la lista de los posibles en nuestro descriptor web.xml. Si todo está bien, será encontrado e invocado, ejecutando el método POST (que es como el main), ya que así se indicaba en la etiqueta <FORM> de la página HTML. El método Post() tiene dos argumentos. El primero representa la "petición" del cliente (usuario remoto) y con el nombre de HttpServletRequest; el segundo es la "respuesta" que generará el servlet hacia el cliente en la forma del objeto HttpServletResponse. El servlet, lo primero, ha de indicar el tipo de información que se va a emitir (html) y luego forma un objeto asociado con el navegador web del cliente para imprimir allí los resultados, por medio del método getWriter(). Extraerá los datos de los cuadro de texto (el nombre y la edad) mediante los métodos getParameter() y se dedicará a formar la página HTML dinámica. Una vez terminada, se cierra (close) y es enviada automáticamente.

×