Untitled

Anuncio
La clase Java que recibe peticiones (casi siempre HTTP) y genera una
salida (HTML, WML o XML), es un servlet. Entre sus características
sobresale que:
◦ Los servlets que conforman una aplicación Web se
ejecutan en un servidor de aplicaciones (contenedor).
◦ Cada servlet se puede asociar con una o más URLs.
◦ Esta librería de clases se localiza en los paquetes
Javax.servlet y Javax.servlet.http.
Hasta la aparición de JSP, el principal uso de los servlets era:
◦
◦
◦
◦
◦
Generar la vista de una aplicación Web.
Recibir peticiones HTTP asociadas con una URL.
Leer parámetros.
Solicitar una operación sobre el modelo.
Generar una salida HTML.
52
5-3
Visión
global del framework de servlets.
5-4
55
56
57
58
public class ServletSencillo extends HttpServlet
{
/**
* Maneja el método GET de HTTP para construir una sencilla página Web.
*/
public void doGet (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out;
String
title = “Servlet Sencillo";
// selecciona el tipo de contenidos y otros campos de cabecera de la respuesta
response.setContentType("text/html");
// Luego escribe los datos de la respuesta
out = response.getWriter();
}
}
out.println("<HTML><HEAD><TITLE>");
out.println(title);
out.println("</TITLE></HEAD><BODY>");
out.println("<H1>" + title + "</H1>");
out.println("<P>Hola desde un Servlet.");
out.println("</BODY></HTML>");
out.close();
59
<form name="frmDatos" method="post" action = “/servlet/Saludo">
<input type="text" name="nombre">
<br>
<input type="submit" name="enviar" value="enviar">
</form>
510
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Saludo extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
}
out.println("<html>");
out.println("<head>");
out.println("</head>");
out.println("<body bgcolor=\"white\">");
out.println("<h1>Bievenido: " + request.getParameter("nombre") + "</h1>");
out.println("</body>");
out.println("</html>");
out.close();
}
511



Para poder instalar un Servlet dentro de un servidor de aplicaciones
debe estar contenido dentro de un módulo Web
A su vez el contenido de un módulo Web se empaqueta en un
archivo con extensión .war (utilizando la utileria Jar)
Un archivo .war se puede instalar (deployment) en cualquier servidor
de aplicaciones web conforme a J2EE
512
513
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<distributable/>
<!-- ===================== Servlets ============================= ->
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<!-- ==================== Servlet mapping ======================= -->
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
... Mappings para el resto de servlets...
<!-- ========================= Session ===========================
-->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<!-- ======================= Welcome page ======================== ->
<welcome-file-list>
<welcome-file>Index.jsp</welcome-file>
</welcome-file-list>
</web-app>
514
Descargar