explicación del código del servlet holamundo

3

Click here to load reader

Upload: jubacalo

Post on 25-May-2015

1.221 views

Category:

Documents


2 download

DESCRIPTION

Explicación del código del Servlet Hola_Mundo

TRANSCRIPT

Page 1: Explicación del código del Servlet HolaMundo

En esta práctica vamos a explicar el código de un Servlet que escribe una

página web con el mensaje “Hola Mundo”.

package pkgServletHM;

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;

/**

* Servlet implementation class HolaMundo

*/

@WebServlet("/HolaMundo")

public class HolaMundo extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

* @throws IOException

* @see HttpServlet#doGet(HttpServletRequest request,

HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse

response) throws ServletException,IOException {

// TODO Auto-generated method stub

PrintWriter out;

out = response.getWriter();

response.setContentType("text/html");

out.println("<html>");

out.println("<head><title>Ejemplo de Servlet</title></head>");

out.println("<body>");

out.println("<h1>Hola Mundo</h1>");

out.println("</body></html>");

}

}

Page 2: Explicación del código del Servlet HolaMundo

public class HolaMundo extends HttpServlet {

Para escribir un servlet específicamente para el protocolo http, servlet de

tipo HTTP, se usa la clase HttpServlet que extiende a la clase GenericServlet

la cual proporciona una implementación básica del interfaz Servlet Interface

(todo servlet debe directa o indirectamente implementar este interfaz).

Los métodos para la clase HttpServlet son:

Method Summary

protected

void doDelete(HttpServletRequest req, HttpServletResponse resp)

Called by the server (via the service method) to allow a servlet to

handle a DELETE request.

protected

void doGet(HttpServletRequest req, HttpServletResponse resp)

Called by the server (via the service method) to allow a servlet to

handle a GET request.

protected

void doHead(HttpServletRequest req, HttpServletResponse resp)

Receives an HTTP HEAD request from the protected service

method and handles the request.

protected

void doOptions(HttpServletRequest req, HttpServletResponse resp)

Called by the server (via the service method) to allow a servlet to

handle a OPTIONS request.

protected

void doPost(HttpServletRequest req, HttpServletResponse resp)

Called by the server (via the service method) to allow a servlet to

handle a POST request.

protected

void doPut(HttpServletRequest req, HttpServletResponse resp)

Called by the server (via the service method) to allow a servlet to

handle a PUT request.

protected

void doTrace(HttpServletRequest req, HttpServletResponse resp)

Called by the server (via the service method) to allow a servlet to

handle a TRACE request.

protected

long getLastModified(HttpServletRequest req)

Returns the time the HttpServletRequest object was last modified,

in milliseconds since midnight January 1, 1970 GMT.

protected

void service(HttpServletRequest req, HttpServletResponse resp)

Receives standard HTTP requests from the public service method

and dispatches them to the doXXX methods defined in this class.

void service(ServletRequest req, ServletResponse res)

Dispatches client requests to the protected service method.

Page 3: Explicación del código del Servlet HolaMundo

protected void doGet(HttpServletRequest request, HttpServletResponse

response) throws ServletException,IOException {

Dependiendo del protocolo utilizado para las peticiones (mediante POST o

GET), el servlet ejecutará el método doPost() o el método doGet(), que se

corresponden con el método service() del Servlet.

En nuestro caso el método doGet() es llamado por el servidor (a través del

médotod service()) para permitir al servlet manejar peticiones de tipo GET.

Los servlets están diseñados para un tipo de interacción petición-respuesta.

Cuando el servidor web recibe una petición para un servlet llama al método

public void service(HttpServletRequest req, HttpServletResponse res) con dos

parámetros: el primero, de la clase HttpServletRequest, representa la

petición del cliente y el segundo, de la clase HttpServletResponse,

representa la respuesta del servlet.

PrintWriter out;

out = response.getWriter();

response.setContentType("text/html");

out.println("<html>");

out.println("<head><title>Ejemplo de Servlet</title></head>");

out.println("<body>");

out.println("<h1>Hola Mundo</h1>");

out.println("</body></html>");

Como en el ejemplo no utilizamos ninguna información del cliente, no usamos

el parámetro HttpServletRequest. De la clase HttpServletResponse usamos dos

métodos:

• PrinterWriter getWriter(void) con el que obtendremos un PrinterWriter

en donde iremos escribiendo los datos que queremos que el cliente

reciba.

PrintWriter out;

out = response.getWriter();

• setContextType(String str) para establecer el tipo de respuesta que

vamos a dar. Para indicar que se trata de una página web usamos el

tipo "text/html".

response.setContentType("text/html");