Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez...

53
Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez [email protected] Programación Web

Transcript of Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez...

Page 1: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Curso de Java y Aplicaciones Web

Facultad Politécnica – U.N.A.

Ing. Esteban Ramí[email protected]

Programación Web

Page 2: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Objetivos

Ejemplo básico

Programacion Web con Java

Html, JavaScript, Ajax y CSS.

Arquitectura de las aplicaciones Web

Introducción a las aplicaciones Web

Curso de Java y Aplicaciones Web

Page 3: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Aplicaciones web Curso de Java y Aplicaciones Web

Aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador.

Page 4: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Ejemplos de Aplicaciones web Curso de Java y Aplicaciones Web

Page 5: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Arquitectura de una aplicación Web

Usuario

Browser

http://www.pol.una.py/cursoWeb.pdf

Servidor DNS

¿IP de www.pol.una.py?

170.51.6.71

Servidor Web

Conexión TCP al puerto 80 del host 170.51.6.71

Solicitar recurso cursoWeb.pdfSolicitud en formato HTTP

Servidor envía respuesta sobreConexión TCP

Cerrar Conexión TCP

Page 6: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Arquitectura de una aplicación Web

• Browser (Firefox, IE, Chrome)

• Red (Intranet - Internet)

• Protocolo HTTP (HyperText Transfer Protocol)

• Servidor Web (Apache, IIS, Tomcat)

• Servidores de bases de datos (Oracle, MySql)

• Servicios Web externos (Cotizaciones, Clima)

Page 7: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Evolución de las tecnologías para aplicaciones web

Page 8: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Tipos de contenido

• Páginas estáticas: Archivos físicos almacenados en disco

• Páginas dinámicas: Contenido generado por programas ejecutados en el servidor

Page 9: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Lenguajes Web en servidor

PHPEs un lenguaje de programación utilizado para la creación de sitio web. PHP es un acrónimo recursivo que significa “PHP Hypertext Pre-processor”.

ASP .NETDesarrollado para resolver las limitantes de su antecesor ASP. Para desarrollar web sencillas o grandes aplicaciones. Para el desarrollo de ASP.NET se puede utilizar C#, VB.NET o J#. Completamente orientado a objetos. Ambiente Microsoft.

PERLEs la alternativa más popular a PHP, es el acronimo de "Practical Extraction and Report Language" uno de los lenguajes más antiguos para este segmento. Gran cantidad de módulos ya escritos. Deriva ampliamente del lenguaje C.

PYTHONCreado en el año 1990, es el sucesor del lenguaje de programación ABC. Python es comparado habitualmente con Perl. Programación estructurada y orientada a bojetos. Multiplataforma. Opensource.

RUBYEs un lenguaje interpretado de muy alto nivel y orientado a objetos. Software Libre. Multiplataforma. Su sintaxis está inspirada en Phyton, Perl.

Page 10: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Lenguajes Web en servidor

PHPEs un lenguaje de programación utilizado para la creación de sitio web. PHP es un acrónimo recursivo que significa “PHP Hypertext Pre-processor”.

ASP .NETDesarrollado para resolver las limitantes de su antecesor ASP. Para desarrollar web sencillas o grandes aplicaciones. Para el desarrollo de ASP.NET se puede utilizar C#, VB.NET o J#. Completamente orientado a objetos. Ambiente Microsoft.

PERLEs la alternativa más popular a PHP, es el acronimo de "Practical Extraction and Report Language" uno de los lenguajes más antiguos para este segmento. Gran cantidad de módulos ya escritos. Deriva ampliamente del lenguaje C.

PYTHONCreado en el año 1990, es el sucesor del lenguaje de programación ABC. Python es comparado habitualmente con Perl. Programación estructurada y orientada a bojetos. Multiplataforma. Opensource.

RUBYEs un lenguaje interpretado de muy alto nivel y orientado a objetos. Software Libre. Multiplataforma. Su sintaxis está inspirada en Phyton, Perl.

Page 11: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Lenguaje en el cliente

• HTML - HyperText Markup Language• JavaScript • CSS (Cascading Style Sheets)• Flash• Others resources

Page 12: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Composición de las interfaces Web

• Ejemplo.html

<html> <body> <p>

Hola Mundo <b> 2011</b> </p>

<form name=“formulario”><input type=“button” value=“Click aquí”>

</form>

</body></html>

Page 13: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

• JavaScript

<html> <script> function mostrarMensaje() { alert(“Usted ha hecho click”); } </script> <body> <form name=“formulario”>

<input type=“button” value=“Click aquí” onclick=“mostrarMensaje()”>

</form> <img src=“imagenes/dibujo1.gif”> </body></html>

Las funciones JavaScript pueden estar en archivos separados

Composición de las interfaces Web

Page 14: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

• CSS (Cascading Style Sheets)

body { font-family: Georgia, Times, "Times New Roman", serif; color: #030; } h1, h2, h3 { font-family: Georgia, Times, "Times New Roman", serif; color: #030; }

Puede estar dentro de la misma página o en archivos externos

Composición de las interfaces Web

Page 15: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

HTML – Hypertext Markup Language

• Estructura de un documento HTML

<html> <head> <title>My first HTML document</title> </head> <body> <h2>My first HTML document</h2> Hello, <i>World Wide Web!</i> <a hfref=“http://www.pol.una.py”>Un link</a> </body></html>

Page 16: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

• Hipertexto ó Enlaces

…<a href="http://www.oreilly.com">Link a otro sitio</a>…<a href=“otraPagina.html”>Link relativo al mismo sitio</a>…

HTML – Hypertext Markup Language

Page 17: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

• Formularios

<form method=“post” action=“guardarPersona.php”> Cedula: <input type=“text” name=“cedula”> Nombre: <input type=“text” name=“nombre”> Contraseña: <input type=“password” name=“passwd”> Sexo: <input type=“radio” name=“sexo” value=“M”> Masculino <input type=“radio” name=“sexo” value=“F”> Femenino Nacionalidad: <select name=“nacionalidad”>

<option value=“py”>Paraguaya</option><option value=“br”>Brasilera</option><option value=“ar”>Argentina</option>

</select> <input type=“submit” value=“Guardar”></form>

HTML – Hypertext Markup Language

Page 18: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

• Formularios visualización

HTML – Hypertext Markup Language

Page 19: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

• Tablas

<table> <tr>

<th>Cédula</th><th>Nombre</th> </tr> <tr>

<td>123456</td><td>Juan Pérez</td> </tr> <tr>

<td>987432</td><td>María González</td> </tr></table>

Datos en forma tabular. Disposición de elementos en una página.

HTML – Hypertext Markup Language

Page 20: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

CSS – Cascading Style Sheets

• Inline styles

<html><body>…<h1 style="color: blue; font-style: italic">

Título en azul y cursiva</h1>…<p style=“font-family: arial; font-style: bold">

Párrafo en negrita y arial</p>…</body></html>

Page 21: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

CSS – Cascading Style Sheets

• Document level styles

<html><head> <title>Página de párrafos en azul</title> <style type="text/css">

p {color: blue; font-style: italic} </style></head><body><p>Un párrafo en azul</p>...<p>Otro párrafo en azul</p>…</body></html>

Page 22: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

CSS – Cascading Style Sheets

• External Style Sheets

En el archivo estilos.css:p {color: blue; font-style: italic}

En el archivo pagina.html:<head> <title>Página de párrafos en azul</title> <link rel=stylesheet type="text/css“ href=“estilos.css"></head><body><p>Un párrafo en azul</p>...<p> Otro párrafo en azul</p>…

Page 23: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

CSS – Cascading Style Sheets

• Anidamiento

#top { background-color: #ccc; padding: 1em ;color: #cccccc;

} #top h1 { color: #ff0; } #top p { color: red; font-weight: bold; }

<div id=“top”><h1>Texto 1</h1>

<p>Texto 2</p><p style=“color:green”>Texto 3</p>

</div>

Page 24: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

DHTML, JavaScript y CSS

Definición de estilos con JavaScript

<HTML><HEAD><STYLE TYPE="text/javascript">

tags.H1.color = "red"tags.H1.textTransform = "capitalize"tags.P.color = "blue"

</STYLE></HEAD><BODY><H1>Some heading</H1><P>Some paragraph text.</P></BODY></HTML>

Page 25: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

J2EE

Java Platform, Enterprise Edition o Java EE

http://es.wikipedia.org/wiki/Java_EE

Page 26: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets - Funcionamiento

1

UsuarioServidor de aplicaciones

Page 27: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlet

1

UsuarioServidor de aplicaciones

2

javax.servlet.http.HttpServlet

Servlets - Funcionamiento

Page 28: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlet

pagina.html

1

UsuarioServidor de aplicaciones

2 3

Servlets - Funcionamiento

javax.servlet.http.HttpServlet

Page 29: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlet

pagina.html

1

UsuarioServidor de aplicaciones

2 3

4

Servlets - Funcionamiento

javax.servlet.http.HttpServlet

Page 30: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlet

pagina.html

1

UsuarioServidor de aplicaciones

5

2 3

4

Servlets - Funcionamiento

javax.servlet.http.HttpServlet

Page 31: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets Conteiner (Servidores de aplicaciones J2EE)

Apache Tomcat GlassFish

Page 32: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Apache Tomcat GlassFish

Servlets Conteiner (Servidores de aplicaciones J2EE)

Page 33: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Registrar Tomcat en NetBeansTools -> Servers

Servlets Conteiner (Servidores de aplicaciones J2EE)

Page 34: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets - Ejemplo

Page 35: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets – proyecto Test

Page 36: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets – proyecto Test

Page 37: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets – proyecto Test

Page 38: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets – proyecto Test

Page 39: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets - Ejemplo

Archivo de configuración de la App. Web.

Archivos xHtml

Archivos .java

Librerías .jar

Archivo de configuración dependiente del server

Page 40: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets – Test.java

Page 41: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets – Test.java

Page 42: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets – Web.xml

Page 43: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets – Run

Page 44: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets - Ejemplo• http://localhost:8080/Test/Test

Page 45: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets - Ejemplo• http://localhost:8080/Test?

nombre=CursoJava

Page 46: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Servlets - Ejemplo

• http://miservidor:8080/Test?nombre=CursoJava

Page 47: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Iteración con pagina HtmlCurso de Java y Aplicaciones Web

Page 48: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Estructura de una App Web.w

ar

(Web

App

licat

ion

Arc

hive

)

Page 49: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Frameworks

Page 50: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Frameworks

En el desarrollo de software, un framework es una estructura conceptual y tecnológica de soporte definida, normalmente con artefactos o módulos de software concretos, con base en la cual otro proyecto de software puede ser organizado y desarrollado.

Page 51: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Frameworks web java

Page 52: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Frameworks web java

Page 53: Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com Programación Web.

Curso de Java y Aplicaciones Web.

Ing. Esteban Ramí[email protected]