Curso de Java “Java para Web” Rogelio Ferreira Escutia.

Slides:



Advertisements
Presentaciones similares
Java Enterprise Edition (Java EE)
Advertisements

Curso de Java Java – Redes Rogelio Ferreira Escutia.
Programación de Dispositivos Móviles Estructura de un programa en J2ME Rogelio Ferreira Escutia.
CSS Rogelio Ferreira Escutia. 2 Hojas de estilo cascada, mayo 2010 Definición La hojas de estilo en cascada (en inglés.
JavaScript Rogelio Ferreira Escutia. 2 JavaScript Wikipedia, noviembre 2009http://es.wikipedia.org/wiki/Javascript.
“Planificación de Aplicaciones Web”
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO Resumen. 24 de Junio de 2005.
Nau Gran dHivern Intr. a la creación y gestión de páginas web Introducción a la web.
Internet y tecnologías web
Fernando Alonso Blázquez Sesiones 06 de Mayo de 2004.
Fernando Alonso Blázquez Formularios en lenguaje HTML 26 de Febrero de 2004.
Fernando Alonso Blázquez Servlets con acceso a Bases de Datos 29 de Abril de 2004.
Servlets 22 de Abril de 2004 Fernando Alonso Blázquez.
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
Programación Orientada a Objeto 1
Laboratorio de programación III
Jakarta Tomcat (Contenedor de servlets/jsps)
Aplicaciones J2EE.
Aplicaciones software avanzadas con Java™
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Universidad Nacional Autónoma de Honduras
"java del lado del servidor" Servlet y JSP Java Server Pages.
Introducción a la arquitectura Web
Servlets.
Java Server Pages (JSP)
Servlets Servlets.
JSP Copyright ISIPE – Instituto de Servicios Informáticos para Empresas – Universidad Siglo 21 – Cualquier copia u otro uso debe ser autorizado expresamente.
Introduccion a las páginas WEB HTML
Curso de Java y Aplicaciones Web
Comité Nacional de Información Bogotá, Julio 27 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
Java 2 Platform Enterprise Edition
Características generales de un servicio Web.
Mecanismo de petición y respuesta Prof. Manuel Blázquez Ochando
Formularios en lenguaje HTML 7 de Abril de Índice Generalidades Definición en HTML Elementos Formas de envío: métodos GET y POST Recepción y tratamiento.
Sesión en Servlets 31 de Marzo de Índice ¿Por qué seguir la trayectoria de usuarios? Formas de seguir la trayectoria de usuarios –Cookies –Reescritura.
M.I. María Luisa González Ramírez Servlets y JSP.
Borland User Group - Guatemala Desarrollo de Servlets con Borland JBuilder 2006 Mario Enríquez Open Consult Diciembre 2006.
JAVA. Introducción Que es java?  Código reusable  Multiplataforma.
Servlets Roberto Moriyón. Servlets, I Objetos java, componentes web contenidas en un servidor (contenedor de servlets) que los reutiliza, que reciben.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: GESTION DE LA CALIDAD ING.ELIZABETH FERG 1.
“Android – Hola Mundo” Rogelio Ferreira Escutia. 2 Creación del Proyecto.
Tecnologías para el desarrollo de aplicaciones Web
HTTP, CGI, Applets, Servlets y SOAP
Servlets, JSP, JavaBEANS,JDBC
Una java servlet es un programa que se ejecuta en un servidor. Por lo general son aplicaciones Java que corren en un entorno de servidor web. Los Java.
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
INTRODUCCIÓN A LA PROGRAMACIÓN WEB
Servlets 18 de Marzo de Índice ¿Qué es un Servlet? ¿Cuándo y por qué usar Servlets? Estructura básica de un HttpServlet Servlet simple que genera.
JAVA: Servlets Diseño de aplicaciones web
TEMA 6. Applets y servlets
PROTOCOLO H T T P.
“SERVLETS”. Paola Rojas Contreras Juan Villarroel Leiva José Miguel Perez V. Departamento de Electrónica.
Sistemas Cliente-Servidor Introducción. Sistemas cliente-servidor Servidor Cliente Petición Respuesta.
Fernando Alonso Blázquez Nicolás Serrano Bárcena Servlets 8 de Abril de 2008.
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
Fernando Alonso Nicolás Serrano Servlets con acceso a Bases de Datos 21 de Abril de 2008.
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
Desarrollo con Servlets. Servlets: Introducción  Módulos que amplían los servidores orientados a petición/respuesta.  La respuesta en el lenguaje Java.
Mario Osvaldo Bressano Servlets. Mario Osvaldo Bressano Arquitectura de 2 Capas.
Servlets 10 de Mayo de 2006.
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
Sun Microsystems. Los servlets son objetos que corren dentro del contexto de un contenedor de servlets y extienden su funcionalidad. También podrían correr.
Confidential // Neoris 1 Confidential // Do Not Reproduce without prior written permission from Neoris Servlets.
JSF (JAVA SERVER FACES)
Planificación Curso UNIDAD 1. INTRODUCCIÓN A LOS SERVICIOS EN RED UNIDAD 2. SERVICIOS DHCP UNIDAD 3. SERVICIOS DNS UNIDAD 4. SERVICIOS DE ACCESO REMOTO.
 Módulos que amplían los servidores orientados a petición/respuesta.  La respuesta en el lenguaje Java a los CGIs (Common Gateway Interface) para construir.
Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones.
Trabajar con SERVLETS. Índice Qué son los Servlets Para qué sirven Cómo se utilizan Ejemplo Cómo probar un Servlet.
Transcripción de la presentación:

Curso de Java “Java para Web” Rogelio Ferreira Escutia

Tecnología Java Java para Web _ 2

J2EE Java para Web Para el desarrollo de apliaciones web, Sun desarrolló J2EE (Java 2 Entrerprise Edition). Es un conjunto de especificaciones para desarrollar aplicaciones basado en contenedores, entre las mas importantes: - J2EE Servlets - J2EE Java Server Pages - Enterprise Java Beans. _ 3

Contenedores Java para Web _ 4

JSP Java para Web JavaServer Pages (JSP) es una tecnología Java que permite generar contenido dinámico para web, en forma de documentos HTML, XML o de otro tipo. Esta tecnología es un desarrollo de la compañía Sun Microsystems. La Especificación JSP 1.2 fue la primera que se liberó y en la actualidad está disponible la Especificación JSP 2.1. _ JavaServer Pages – Wikipedia, http://es.wikipedia.org/wiki/JavaServer_Pages, noviembre 2011 5

JSP y Servlets Java para Web Generalmente las páginas basadas en JSP se utilizan cuando la mayoría del contenido que se envía al cliente es texto estático y marcas, y sólo una pequeña porción del contenido se genera en forma dinámica mediante códigos de Java. Los Servlets se utilizan comúnmente cuando una pequeña porción del contenido que se envía al cliente es texto estático o marcas, de hecho algunos servlets no producen contenido, en vez de ello realizan una tarea a beneficio del cliente y después invocan a otros servlets o JSP para que proporcionen una respuesta. En la mayoría de los casos, las tecnologías de los servlets y JSP son intercambiables. 49) Java Cómo Programar, Harvey M.Deitel y Paul J. Deitel, Pearson Educación Quinta Edición, México 2004, ISBN 970-26-0518-0, páginas 1325 6

Servlets

Hola Mundo (servlet)‏ import javax.servlet.*; Java para Web import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class HolaServlet extends HttpServlet { protected void doGet( HttpServletRequest peticion, HttpServletResponse respuesta)‏ throws ServletException, IOException { respuesta.setContentType("text/html;charset=UTF-8"); PrintWriter salida = respuesta.getWriter(); salida.println("<html>"); salida.println("Hola Mundo con Servlets!!!"); salida.println("</html>"); salida.close(); } 48) Internet and World Wide Web How to Program, H.M. Deitel, P.J. Deitel y T.R. Nieto, Prentice Hall Second Edition, Upper Saddle New Jersey USA 2002 8

Ejecutar Servlet Java para Web Ejecución del servlet “HolaServlet” utilizando JDK 1.6 update 2 con NetBeans 5.5.1 que incluye Tomcat corriendo en el puerto “8084” del proyecto “prueba_web” en un navegador Firefox en Linux Ubuntu 7.04 _ 9

Enviar nombre Java para Web Página web “enviar_nombre.html” que se encarga de enviar por medio de un formulario una variable (nombre) a un servlet (recibir_nombre). <html> <head> <title>Enviar nombre</title> </head> <body> <h2>Enviar Nombre</h2> <form action="recibir_nombre" method="get"> Teclea tu nombre <input type="text" name="nombre" /> <input type="submit" value="Enviar" /> </form> </body> </html> _ 10

Enviar nombre Java para Web Página web “enviar_nombre.html” que se encarga de enviar por medio de un formulario una variable (nombre) a un servlet (recibir_nombre). _ 11

Recibir nombre Java para Web Servlet “recibir_nombre” que recibe la variable “nombre” que le envió el formulario y lo imprime en pantalla import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class recibir_nombre extends HttpServlet { protected void doGet( HttpServletRequest peticion, HttpServletResponse respuesta)‏ throws ServletException, IOException { String nombre2 = peticion.getParameter("nombre"); respuesta.setContentType("text/html;charset=UTF-8"); PrintWriter salida = respuesta.getWriter(); salida.println("<html>"); salida.println("<head>"); salida.println("<title>Recibir Nombre</title>"); salida.println("</head>"); salida.println("<body>"); salida.println("<h2>Servlet que recibe nombre</h2>"); salida.println("Hola " + nombre2 + " Bienvenido a los Servlets"); salida.println("</body>"); salida.println("</html>"); salida.close(); } 12

Recibir nombre Java para Web Servlet “recibir_nombre” que recibe la variable “nombre” que le envió el formulario y lo imprime en pantalla _ 13

JSP

Hola Mundo (JSP)‏ <html> <head> Java para Web <html> <head> <title>Hola Mundo con JSP!!!</title> </head> <body> <h2>Hola Mundo con JSP!!!</h2> <%= new java.util.Date()‏ %> </body> </html> _ 15

Ejecutar JSP Java para Web Ejecución del código JSP “HolaJSP.jsp” utilizando JDK 1.6 update 2 con NetBeans 5.5.1 que incluye Tomcat corriendo en el puerto “8084” del proyecto “prueba_web” en un navegador Firefox en Linux Ubuntu 7.04 _ 16

Enviar nombre Java para Web Página web “enviar_nombre.html” que se encarga de enviar por medio de un formulario una variable (nombre) a un JSP (recibir_nombre.jsp). <html> <head> <title>Enviar nombre</title> </head> <body> <h2>Enviar Nombre</h2> <form action="recibir_nombre.jsp" method="get"> Teclea tu nombre <input type="text" name="nombre" /> <input type="submit" value="Enviar" /> </form> </body> </html> _ 17

Enviar nombre Java para Web Página web “enviar_nombre.html” que se encarga de enviar por medio de un formulario una variable (nombre) a un JSP (recibir_nombre.jsp). _ 18

Recibir nombre Java para Web JSP “recibir_nombre.jsp” que recibe la variable “nombre” que le envió el formulario y lo imprime en pantalla <html> <head> <title>Recibir nombre</title> </head> <body> <h2>JSP que recibe nombre</h2> <% String nombre2 = request.getParameter("nombre"); %> Hola <%= nombre2 %> Bienvenido a JSP </body> </html> 19

Recibir nombre Java para Web Código JSP “recibir_nombre.jsp” que recibe la variable “nombre” que le envió el formulario y lo imprime en pantalla _ 20

Manejo de Sesiones Java para Web Para poder hacer uso de las sesiones se debe poner el atributo session de la directiva page a true, de esta forma se notifica al contenedor que la página interviene en un proceso que utiliza las sesiones del protocolo HTTP <%@page import="java.util.*" session=’true’%> //no necesario en Servlets _ 21

Crear una sesión Java para Web Para obtener la sesión de un usuario se utiliza el método getSession() que devuelve una interfaz de tipo HttpSession <%@page import="java.util.*" session=’true’%> //no necesario en Servlets <% //no necesario en Servlets HttpSession sesion=request.getSession(); %> //no necesario en Servlets _ 22

Identificar una sesión Java para Web Para obtener la sesión de un usuario se utiliza el método getSession() que devuelve una interfaz de tipo HttpSession <%@page import="java.util.*" session=’true’%> <% HttpSession session = request.getSession(); out.print(“Id. de la Sesion: ”+sesion.getId()); %> _ 23

Fecha de creación Java para Web Es posible conocer el momento en el que se creó la sesión <%@page import=”java.util.*” session=”true”%> <% HttpSession sesion=request.getSession(); out.println(“Creación: “+sesion.getCreationTime()); Date momento=new Date(sesion.getCreationTime()); out.println(“<BR>Creación: “+momento); %> _ 24

Fecha de último acceso Java para Web También se puede conocer la fecha y hora de la última vez que el cliente accedió al servidor con el que se creó la sesión, utilizando el método getLastAccesedTime()‏ <%@page import="java.util.*" session=’true’%> <% HttpSession sesion=request.getSession(); Date acceso=new Date(sesion.getLastAccessedTime()); out.println(“Último acceso: “+acceso+”<br>”); %> _ 25

Tiempo de conexión Java para Web Teniendo en cuenta el momento en el que ser creó la sesión y la última vez que se accedió al servidor, se puede conocer el tiempo que lleva el cliente conectado al servidor, o lo que es lo mismo el tiempo que lleva el usuario navegando por las páginas JSP <%@page import="java.util.*" session=’true’%> <% HttpSession sesion=request.getSession(); long longDuracion=sesion.getLastAccessedTime(); sesion.getCreationTime(); Date duracion=new Date(longDuracion); out.println(“Duracion:“+duracion.getMinutes()+”min.”+duracion.getSeconds()+”seg”); _ 26

Detección de sesión Java para Web La interfaz HttpSession ofrece el método isNew() mediante el cual es posible saber si la sesión creada es nueva o se está tomando de una previamente creada <%@page import="java.util.*" session=’true’%> <% HttpSession sesion=request.getSession(); out.println(“nueva: “+sesion.isNew()); %> _ 27

Guardar datos en sesión Java para Web Para guardar un objeto en una sesión se utiliza el método setAttribute(), que ha sustituido al método putValue(). Este método utiliza dos argumentos El primero es el nombre que identificará a esa variable. El segundo es el dato que se va a guardar. <%@page import=”java.util.*” session=”true” %> <% HttpSession sesion=request.getSession(); sesion.setAttribute(“trabajo”,”Sesiones en JSP”); %> _ 28

Guardar datos en sesión Java para Web Si se quiere pasar un parámetro que no sea un objeto es necesario realizar una conversión <%@page import=”java.util.*” session=”true” %> <% HttpSession sesion=request.getSession(); Integer edad=new Integer(26); sesion.setAttribute(“edad”,edad); %> _ 29

Recuperar datos de sesión Java para Web Los datos que se guardan en la sesión permanecen ahí a la espera de ser utilizados. Para ello es necesario realizar el proceso contrario a cuando se graban, comenzando por la recuperación del objeto de la sesión para empezar a ser tratado. <%@page import=”java.util.*” session=”true” %> <% HttpSession sesion=request.getSession(); String nombre=(String)sesion.getAttribute(“nombre”); out.println(“Contenido de nombre: “+nombre); %> _ 30

Error al recuperar datos Java para Web Si no existe ningún objeto almacenado en la sesión bajo el identificador que se utiliza en el método getAttribute(), el valor devuelto será null. Por ello habrá que prestar especial atención ya que si se realiza el cast de un valor null el contenedor JSP devolverá un error. Lo mejor en estos casos es adelantarse a los posibles errores que pueda haber <%@page import=”java.util.*” session=”true” %> <% if(sesion.getAttribute(“nombre”)!=null){ String nombre=(String)sesion.getAttribute(“nombre”); out.println(“Contenido de nombre: “+nombre); } %> _ 31

Destruir sesion Java para Web Los datos almacenados por las sesiones pueden destruirse en tres casos: El usuario abandona aplicación web (cambia de web o cierra el navegador)‏ Se alcanza el tiempo máximo permitido de inactividad de un usuario (timeout). El servidor se para o se reincia. Pero la situación más probable es querer iniciar las sesiones o dar por finalizada una si se han cumplido una o varias condiciones. En este caso no es necesario esperar a que ocurra alguno de los tres casos citados anteriormente, ya que mediante el método invalidate() es posible destruir una sesión concreta. <% [...] sesion.invalidate(); %> _ 32

Fin Java para Web