Saltar la navegación

Servlet: Hola Mundo

La Radiografía de un Servlet

Crear un servlet no es más que crear una clase java que extiende de jakarta.servlet.http.HttpServlet y sobrescribe los métodos doPost(..) o doGet(..) o ambos. No obstante, existen reglas adicionales que deben ser cumplidas:

  • La clase debe ser anotada con: @WebServlet("/xxxxxx")
  • La petición se representa por la clase HttpServletRequest
  • La respuesta se representa por la clase HttpServletResponse.
    • Normalmente, las respuestas están en el lenguaje HTML, CSS y javascript

Creando un Servlet

  • Crear un proyecto nuevo: “Dynamic Web Proyect” (ver Creación de un proyecto Web)
  • Crear una página, ej. hola.html y situarla en la carpeta “WebContent”
  • Crear un paquete java, por ejemplo “servlets”
  • Añadir un servlet mediante “new”>“Servlet” llamado “HolaMundo

Una vez creado el fichero del servlet HolaMundo, escribimos el siguiente código que se explicará a continuación.

package epn.fis.appweb.servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet("/HolaMundo")
public class MiServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//response.getWriter().append("Served at: ").append(request.getContextPath());
		
		PrintWriter salida = response.getWriter();
		salida.print("<HTML>");
		salida.print("<head>");
		salida.print("<title>Pagina devuelta por Servlet</title>");
		salida.print("</head>");
		salida.print("<body>");
		salida.print("<h1> Esto fue devuelto por el Servlet</h1>");
		salida.print("</body>");
		salida.print("</HTML>");
		
		salida.close();
	}


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

	}

}


En el código anterior podemos destacar lo siguiente:

  • Tenemos un servlet que no es más que una clase Java a la que hemos nombrado HolaMundo.
  • La clase ha sido anotada con @WebServlet, esto indicará que la clase se comportará como un Servlet.
  • La clase herada de la clase HttpServlet
  • El Servlet sobreescribe los métodos doGet(), doPost() donde se escribe el código para capturar la solicitud y a su vez, responder al cliente

Ejecuta tu Servlet.

  1. En el Explorador de Proyectos, localiza tu Dynamic Project.
    • (En el caso de este curso, el proyecto denominado "Servlet")
  2. Clic Derecho y escoge "Run AS">"Run on Server".

Esta acción enviará el archivo war al servidor Apache Tomcat instalado que a su vez publicará la aplicación.

Eclipse, seguramente te presentará el resultado, del deploy de la aplicación, en un browser interno. Sin embargo tu puedes acceder a la aplicación desde un browser de tu equipo con la siguiente dirección:

http://nombre_servidor:puerto/nombre_proyecto/_nombre_archivo_servlet

En otras palabras, para nuestro ejemplo:

http://localhost:8080/Servlet/HolaMundo

Actividad: Ejemplificando el Ciclo de Vida

En el servlet creado anteriormente:

  1. Sobre-escribe los métodos del ciclo de vida del Servlet
    1. En cada método imprime en consola un texto para que tengas referencia que la petición pasó por el método
  2. Ejecuta el Servlet
  3. Discute los resultados de consola.