El paquete javax.servlet

//Paquete java.io que contiene a :
//InputStream
//OutputStream
//Serializable
import java.io.*;

//Paquete javax.servlet que contiene a :
//ServletInputStream
//ServletOutputStream
//Servlet
//ServletConfig
//ServletContext
//ServletRequest
//ServletResponse
//SingleThreadModel
//GenericServlet
//ServletException
//UnavailableException
import javax.servlet.*;

//Paquete javax.servlet.http que contiene :
//HttpServlet
//HttpServletRequest
//HttpServletResponse
import javax.servlet.http.*;

public class miServlet extends HttpServlet
{

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IoException{
	
		
	}
}

Esta clase hereda de la clase abstracta HttpServlet que a su vez hereda de GenericServlet.
La clase abstracta GenericServlet tiene un único método abstracto llamado service.

void service(ServletRequest req, ServletResponse res) : método perteneciente al ciclo de vida de los servlets. Este método es invocado por el contenedor de Servlets para permitir que el Servlet responda a una petición.

La razon de ser de una clase abstracta (como dice en el libro de Katty Sierra y Bert Bates) es solo ser extendido (ser heredado). Podemos entonces proveer un conjunto de metodos comunes que puedan ser adaptados en cada subclase, ademas una clase abstracta no puede ser instanciada, que es logico puesto que solo lo usamos como una clase que nos permite usar el comportamiento de un Servlet.

Tomcat es a la vez una implementacion de los Servlets y un contenedor para los mismos. En él la clase abstracta HttpServlet implementa el metodo service, dejando los metodos doGet y doPost accesibles para ser sobreescritos.

Cuando creamos nuestro Servlet y añadimos los metodos doGet ó doPost (lo más usual) estamos haciendo uso de la sobreescritura de metodos.
La sobreescritura requiere que el metodo que va a sobreescribir tenga al menos:
– El mismo tipo de argumentos del metodo a sobreescribir : HttpServletRequest y HttpServletResponse.
– El mismo tipo de retorno del metodo a sobreescribir : void.
– Que lance el mismo tipo de Excepciones del metodo a sobreescribir : ServletException e IOException.

Por eso una vez que sea invocado el metodo doGet ó doPost de nuestro Servlet, se ejecutará solo dicho código, no se invocará al metodo sobreescrito de la clase abstracta HttpServlet implementada por Tomcat.

El metodo service es el punto de entrada a toda peticion HTTP . En la clase HttpServlet este metodo redirige al metodo doGet o doPost segun sea el metodo usado por la peticion: doGet para los enlaces y doPost para los formularios.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s