Aplicaciones web con java

5
1 Tecnologías Web Tecnologías Web Tema 5: Java Aplicaciones web con Java Tecnologías Web Tecnologías Web Aplicaciones web con Java Servidor web (Tomcat) Servidor web (Tomcat) B.D. B.D. Sistema no-java Navegador Navegador JSP Servlet Servlet Petición Respuesta JDBC HTTP Applet Applet JMS/ JCA Clases Java

Transcript of Aplicaciones web con java

Page 1: Aplicaciones web con java

1

Tecnologías WebTecnologías Web

Tema 5: Java

Aplicaciones web con Java

Tecnologías WebTecnologías Web

Aplicaciones web con Java

Servidor web (Tomcat)Servidor web (Tomcat)

B.D.B.D.

Sistema no-java

NavegadorNavegador

JSP ServletServletPetición

Respuesta

JDBCHTTP

AppletApplet JMS/JCAClases

Java

Page 2: Aplicaciones web con java

2

Tecnologías WebTecnologías Web

JSP y Servlets

Código Java que reside en el servidor web (p. ej. Tomcat)

Semejanzas:– Toman como entrada una petición HTTP, la procesan y

generan como salida una respuesta HTTP– Internamente están implementados de la misma manera

Diferencias:– Los servlets son código Java que genera HTML– Los JSP son páginas HTML con código Java insertado

Tecnologías WebTecnologías Web

Ejemplo de servletimport javax.servlet.*;import javax.servlet.http.*;import java.io.*;

public class Saludo extends HttpServlet {public void doGet (HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {String nombre;PrintWriter salida;

//procesa datos de la peticiónnombre = request.getParameter("nombre");

//pone cabeceras HTTPresponse.setHeader("Content-Type", "text/html");

//escribe respuestasalida.println("<html> <head> <title> Ejemplo servlet </title> </head> <body>");salida.println("hola " + nombre);salida.println("</body> </html>");

}}

Page 3: Aplicaciones web con java

3

Tecnologías WebTecnologías Web

Ejemplo de página JSP

<%@ page contentType="text/html" %><html><head>

<title>Ejemplo de JSP</title></head><body><% String nombre;

nombre = request.getParameter("nombre"); %>Hola <%= nombre %>

</body></html>

Tecnologías WebTecnologías Web

JSP vs. servlets

En realidad, los JSP son servlets “disfrazados”La potencialidad de servlets y JSP es la misma (mismo API)Características JSP

– Ventaja: facilidad para generar la salida– Problema: dificultad en la detección de errores

Características servlets– Ventaja: más fácil depurar y mantener código– Problema: generar la salida es tedioso (demasiado println)

Page 4: Aplicaciones web con java

4

Tecnologías WebTecnologías Web

El API de servlets

Obtener información de la petición– Obtener parámetros HTTP– Obtener cabeceras (p.ej. cookies)

Generar respuesta– Escribir datos (con print en servlets)– Generar cabeceras

Conservar datos entre peticiones HTTP (sesiones)Comunicarse con otros servlets/páginas JSP

Tecnologías WebTecnologías Web

AccionAccion

Combinar JSPs y Servlets (twa)

NavegadorNavegador B.D.B.D.

Sistema no-Java

Contenedor web (Tomcat)

Petición HTTP

Fuentes de datos

ServletServlet

Respuesta HTTP

JSPJSPBeanBean

main

AccionInfoVuelo

VueloBeaninfovuelo.jsp

http://localhost:8080/twa/main?accion=infovuelo&id=twa707

Petición HTTP

Page 5: Aplicaciones web con java

5

Tecnologías WebTecnologías Web

Estructura física de una aplicación

twa

WEB-INF

web.xmlclasses lib

(applets, páginas HTML y JSP)

(librerías - JAR)(servlets yclases Java

ejecutables en el servidor)

Tecnologías WebTecnologías Web

JDBC

Acceso a bases de datos en JavaPasos:

– Cargar el driver de la B.D. – Establecer la conexión con la URL de la B.D.

(Connection)– Crear una sentencia SQL (Statement)– Ejecutar la sentencia– Procesar los resultados (ResultSet) si es SELECT– Cerrar la conexión