Professional Documents
Culture Documents
Mdulo 2
J2EE Componente Web
2006
1 Introduccin
2 Protocolo HTTP
3 Repaso HTML
4 Servlet
5 JSP
everis- CONFIDENCIAL
2 DERECHOS RESERVADOS
Introduccin
Importancia de la Web para los usuarios
Es de uso diario:
Leer correos-e.
Utilizar el buscador.
Realizar compras.
Tener acceso a la informacin.
Es una interfaz comn. Todo el mundo sabe
hacer click.
Los navegadores (browsers) no necesitan
muchos recursos de Hardware para que
funcionen.
everis- CONFIDENCIAL
3 DERECHOS RESERVADOS
Introduccin
Importancia de la Web para las empresas
everis- CONFIDENCIAL
4 DERECHOS RESERVADOS
Introduccin
Importancia de la Web para las empresas
everis- CONFIDENCIAL
5 DERECHOS RESERVADOS
Introduccin
Importancia de la Web para las empresas
everis- CONFIDENCIAL
6 DERECHOS RESERVADOS
Introduccin
Importancia de la Web para los desarrolladores
everis- CONFIDENCIAL
7 DERECHOS RESERVADOS
Introduccin
Desventajas del desarrollo Web
everis- CONFIDENCIAL
8 DERECHOS RESERVADOS
1 Introduccin
2 Protocolo HTTP
3 Repaso HTML
4 Servlet
5 JSP
everis- CONFIDENCIAL
9 DERECHOS RESERVADOS
Protocolo HTTP
everis- CONFIDENCIAL
10 DERECHOS RESERVADOS
Protocolo HTTP
everis- CONFIDENCIAL
11 DERECHOS RESERVADOS
Protocolo HTTP
Mtodos HTTP
everis- CONFIDENCIAL
12 DERECHOS RESERVADOS
Protocolo HTTP
Cdigos HTTP
everis- CONFIDENCIAL
13 DERECHOS RESERVADOS
1 Introduccin
2 Protocolo HTTP
3 Repaso HTML
4 Servlet
5 JSP
everis- CONFIDENCIAL
14 DERECHOS RESERVADOS
Repaso HTML
everis- CONFIDENCIAL
15 DERECHOS RESERVADOS
Repaso HTML
Cuerpo de una pgina html
everis- CONFIDENCIAL
16 DERECHOS RESERVADOS
Repaso HTML
Tablas
everis- CONFIDENCIAL
17 DERECHOS RESERVADOS
Repaso HTML
Formularios
everis- CONFIDENCIAL
18 DERECHOS RESERVADOS
Repaso HTML
http://www.w3schools.com/
everis- CONFIDENCIAL
19 DERECHOS RESERVADOS
1 Introduccin
2 Protocolo HTTP
3 Repaso HTML
4 Servlet
5 JSP
everis- CONFIDENCIAL
20 DERECHOS RESERVADOS
Servlet
Introduccin
everis- CONFIDENCIAL
21 DERECHOS RESERVADOS
Servlet
Introduccin
everis- CONFIDENCIAL
22 DERECHOS RESERVADOS
Servlet
Introduccin
everis- CONFIDENCIAL
23 DERECHOS RESERVADOS
Servlet
Estructura
everis- CONFIDENCIAL
24 DERECHOS RESERVADOS
Servlet
Estructura
HttpServlet:
Agrega la funcionalidad para proveer los
diferentes tipos de peticiones HTTP, como
doGet() y doPost() que procesa formularios
GET y POST respectivamente.
everis- CONFIDENCIAL
25 DERECHOS RESERVADOS
Servlet
Estructura
everis- CONFIDENCIAL
26 DERECHOS RESERVADOS
Servlet
Estructura
HttpServletRequest:
Proporciona informacin de peticin del cliente al servlet a
travs del protocolo HTTP.
Se pueden obtener datos como encabezados, cookies y
caractersticas genricas como direccin del cliente y
parmetros recibidos desde l (getParameter()).
Permite asociar objetos (setAttribute) y acceder al objeto
HttpSession.
HttpServletResponse:
Proporciona un canal para que el servlet enve respuesta al
cliente (getWriter()).
Provee adems funcionalidad especfica para respuestas HTTP
como enviar encabezados, cookies (addCookie()) y errores con
cdigos nmericos.
everis- CONFIDENCIAL
27 DERECHOS RESERVADOS
Servlet
Estructura
HttpSession:
Permite identificar a un usuario a travs de ms de
una pgina.
Para esto, se le asigna un identificador nico que se
mantiene mientras el usuario navega en el sitio
(getId()).
Permite asignar un tiempo mximo de inactividad y
se le puede asociar objetos para compartir entre
servlets (getAttribute y setAttribute).
Su uso es parecido a un HashTable.
everis- CONFIDENCIAL
28 DERECHOS RESERVADOS
Servlet
Estructura
ServletContext:
Provee un conjunto de mtodos para que el servlet se
comunique con el servidor Web, como:
Inicializar y almacenar atributos que otros servlets en el contexto
pueden acceder.
Registrar eventos.
Obtener referencias URL de recursos.
Obtener los valores asignados a los parmetros de inicializacin.
Obtener el tipo MIME de los archivos.
Obtener informacin acerca del contenedor de servlets, como su
nombre y versin.
Un contexto de servlet est asociado a una aplicacin Web, y
por ende, est compartido por todos los servlets que
pertenezcan a dicha aplicacin.
everis- CONFIDENCIAL
29 DERECHOS RESERVADOS
Servlet
Estructura (Equivalencia variables CGI Servlets)
{ "AUTH_TYPE", request.getAuthType() },
{ "CONTENT_LENGTH", String.valueOf(request.getContentLength()) },
{ "CONTENT_TYPE", request.getContentType() },
{ "DOCUMENT_ROOT", getServletContext().getRealPath("/") },
{ "PATH_INFO", request.getPathInfo() },
{ "PATH_TRANSLATED", request.getPathTranslated() },
{ "QUERY_STRING", request.getQueryString() },
{ "REMOTE_ADDR", request.getRemoteAddr() },
{ "REMOTE_HOST", request.getRemoteHost() },
{ "REMOTE_USER", request.getRemoteUser() },
{ "REQUEST_METHOD", request.getMethod() },
{ "SCRIPT_NAME", request.getServletPath() },
{ "SERVER_NAME", request.getServerName() },
{ "SERVER_PORT", String.valueOf(request.getServerPort()) },
{ "SERVER_PROTOCOL", request.getProtocol() },
{ "SERVER_SOFTWARE", getServletContext().getServerInfo() }
everis- CONFIDENCIAL
30 DERECHOS RESERVADOS
Servlet
Estructura
everis- CONFIDENCIAL
31 DERECHOS RESERVADOS
Servlet
Estructura
Opcional
everis- CONFIDENCIAL
32 DERECHOS RESERVADOS
Servlet
Mi primer Servlet
everis- CONFIDENCIAL
33 DERECHOS RESERVADOS
Servlet
Lgica de funcionamiento (aproximacin)
everis- CONFIDENCIAL
34 DERECHOS RESERVADOS
Servlet
Web.xml
everis- CONFIDENCIAL
35 DERECHOS RESERVADOS
Servlet
Web.xml
everis- CONFIDENCIAL
36 DERECHOS RESERVADOS
Servlet
Web.xml (Ejemplo)
everis- CONFIDENCIAL
37 DERECHOS RESERVADOS
Servlet
Ejercicio
everis- CONFIDENCIAL
38 DERECHOS RESERVADOS
Servlet
Ciclo de vida
Instanciacin:
El contenedor de servlets es el encargado de esta
tarea.
Puede ocurrir durante la inicializacin del contenedor,
o postergado hasta cuando ste estime conveniente
hacerlo para procesar una peticin.
Inicializacin:
Luego de ser instanciado, el contenedor lo inicializa.
Se ejecuta una sola vez. No debe volver a ser
inicializado sin antes ser destruido.
everis- CONFIDENCIAL
39 DERECHOS RESERVADOS
Servlet
Ciclo de vida
everis- CONFIDENCIAL
40 DERECHOS RESERVADOS
Servlet
Ciclo de vida
everis- CONFIDENCIAL
41 DERECHOS RESERVADOS
Servlet
Formularios
everis- CONFIDENCIAL
42 DERECHOS RESERVADOS
Servlet
Formularios (Ejemplo)
everis- CONFIDENCIAL
43 DERECHOS RESERVADOS
Servlet
Formularios (Ejemplo)
everis- CONFIDENCIAL
44 DERECHOS RESERVADOS
Servlet
Formularios (Ejemplo). Cmo funciona?
Accin
Al presionar el botn
Ingresar (submit), se
ejecuta la accin
Ingreso.
Esta accin corresponde
a una URL.
El servidor web busca la
URL en el archivo URL encontrada
web.xml.
Le asocia un Servlet.
web.xml
Se ejecuta este Servlet
everis- CONFIDENCIAL
45 DERECHOS RESERVADOS
Servlet
Formularios (Ejemplo). Cmo funciona?
everis- CONFIDENCIAL
46 DERECHOS RESERVADOS
Servlet
Formularios. Ejercicio
everis- CONFIDENCIAL
47 DERECHOS RESERVADOS
1 Introduccin
2 Protocolo HTTP
3 Repaso HTML
4 Servlet
5 JSP
everis- CONFIDENCIAL
48 DERECHOS RESERVADOS
JSP
Introduccin
everis- CONFIDENCIAL
49 DERECHOS RESERVADOS
JSP
Comparacin con Servlet
Diferencias:
Los servlets generan cdigo HTML a partir de cdigo Java.
Los JSPs contienen cdigo embebido Java en pginas HTML estticas.
Ventajas:
Rpidos de escribir y desarrollar.
Se concentra en la presentacin delegando funcionalidad a JavaBeans.
Diferencia la lgica (Java) de la presentacin (HTML).
Soporta un mecanismo de reportes de errores utilizando la directiva
page error.
Desventajas:
Identificar errores y corregirlos es complicado. Pueden ocurrir a nivel de
traduccin del JSP, compilacin del servlet, y presentacin HTML.
Muchos scriptlets pueden dificultar su mantencin.
everis- CONFIDENCIAL
50 DERECHOS RESERVADOS
JSP
Comparacin con Servlet
holaJSP.jsp
HolaServlet.java
HTML generado
everis- CONFIDENCIAL
51 DERECHOS RESERVADOS
JSP
Ciclo de vida
everis- CONFIDENCIAL
52 DERECHOS RESERVADOS
JSP
Ciclo de vida
everis- CONFIDENCIAL
53 DERECHOS RESERVADOS
JSP
Estructura y Sintaxis
everis- CONFIDENCIAL
54 DERECHOS RESERVADOS
JSP
Estructura y Sintaxis
everis- CONFIDENCIAL
55 DERECHOS RESERVADOS
JSP
Estructura y Sintaxis
Directivas:
Page: Permite definir propiedades de la pgina como el juego de
caracteres, bibliotecas a incluir, etc.
everis- CONFIDENCIAL
56 DERECHOS RESERVADOS
JSP
Estructura y Sintaxis
Programacin
(Scriptlets): Declaracin
Expresin
Comentarios
everis- CONFIDENCIAL
57 DERECHOS RESERVADOS
JSP
Estructura y Sintaxis
Acciones:
Accin Ejemplo Efecto
forward <jsp:forward name=path /> Redirige la peticin a otra URL.
getProperty <jsp:getProperty name=foo Imprime la propiedad de un bean.
property=nombre />
Include <jsp:include path=path /> Incluye los contenidos de una URL local
en tiempo de ejecucin.
everis- CONFIDENCIAL
58 DERECHOS RESERVADOS
JSP
Estructura y Sintaxis
Variables predefinidas:
request: Objeto HttpServletRequest asociado con la peticin.
response: Objeto HttpServletResponse asociado con la
respuesta.
out: PrintWriter utilizado para enviar la respuesta al cliente.
session: Objeto HttpSession asociado con la peticin.
application: Objeto ServletContext obtenido con
getServletConfig().getContext().
config: Objeto ServletConfig de la pgina.
pageContext: Encapsula caractersticas especficas del
servidor (es decir, si se accede a estas propiedades a travs de
este objeto, el cdigo funcionar en la mayora de los motores
JSP).
page: sinnimo de this.
everis- CONFIDENCIAL
59 DERECHOS RESERVADOS
JSP
Ejemplo
everis- CONFIDENCIAL
60 DERECHOS RESERVADOS
JSP
Uso de JavaBeans
everis- CONFIDENCIAL
61 DERECHOS RESERVADOS
JSP
Uso de JavaBeans
everis- CONFIDENCIAL
62 DERECHOS RESERVADOS
JSP
Uso de JavaBeans
Scope:
page: El objeto es accesible en la pgina que lo crea.
request: El objeto es accesible en todas las pginas
correspondientes al mismo request.
session: El objeto es accesible en diferentes
requests correspondientes a una misma sesin.
application: El objeto es accesible por diferentes
requests, de diferentes sesiones, correspondientes a
la aplicacin Web.
Si no se indica, se asume scope de tipo page.
everis- CONFIDENCIAL
63 DERECHOS RESERVADOS
JSP
Ejercicio
everis- CONFIDENCIAL
64 DERECHOS RESERVADOS
everis- CONFIDENCIAL
65 DERECHOS RESERVADOS