28
INTRODUCCIÓN A LAS APLICACIONES WEB Y TECNOLOGÍA JAVA

Charla

Embed Size (px)

Citation preview

Page 1: Charla

INTRODUCCIÓN A LAS APLICACIONES WEB Y

TECNOLOGÍA JAVA

Page 2: Charla

Índice

Java Aplicaciones web Servlets – JSP Servidores de aplicaciones – IDE`s Ejemplo

Page 3: Charla

Java

Historia Lenguaje orientado a objetos creado por Sun

Microsystems• Encapsulación – ocultacion de datos y metodos• Herencia• Polimorfismo – circulo.area() , cuadrado.area()

Éxito alcanzado gracias a:• Internet: aplicaciones web

• “Independencia” del S.O. y plataforma• Marketing

Page 4: Charla

Plataforma Java

Java Language

Java Bytecode

Java Virtual Machine

Java API

Plataform

Page 5: Charla

Características El código Java se estructura en clases

Las clases se estructuran a su vez en paquetes Clase Object de la que derivan las demás Los tipos básicos no son clases

void, char, boolean, byte, int, array Herencia simple:

las clases derivadas pueden añadir variables y (re)definir métodos

Herencia múltiple: interfaces no definen ninguno de sus métodos y únicamente declaran

constantesclass Circulo extends Figura implements Superficie

Page 6: Charla

CONTROL DE ACCESO

- En variables y métodos miembro- Tres tipos:

- public- protected- private

Modificador acceso Public Protected Private

Misma clase

Subclase [*]

Clase externa en el mismo paquete

Clase externa en otro paquete

Page 7: Charla

Concepto de static

- Afecta a variables y métodos- Hacen referencia a la clase (no al objeto)- Se inicializan justo antes de utilizar por

primera vez la clase- Llamada:

- Clase.variable (objeto.variable -> no aconsejado).- Clase.metodo()

- Ej: Math.cos()

Page 8: Charla

Aplicaciones Web

Page 9: Charla

Pila de protocolos

HTTP

TCP

MAC - LLC

FÍSICO

IP

HTML

Page 10: Charla

Modelo Cliente Servidor

Cuando un usuario desea acceder a una determinada página web, utiliza un navegador

Similarmente en el otro extremo se precisa un servidor

HTTP

Page 11: Charla

Evolución

Inicialmente, únicamente información estática. HTML estático Aplicaciones “pobres”

Posteriormente, ejecución de código en el lado del cliente: HTML dinámico: JavaScript Principalmente mejoras de interfaz

Page 12: Charla

Evolución (II)

Programación en el lado del servidor: CGIs Páginas ASP Páginas JSP, servlets PHP J2EE, .NET Zope, Ruby on Rails …

Page 13: Charla

Evolución (III)

Web Services Interoperabilidad entre servidores y clientes Programación de procedimientos remotos WSDL SOAP, XML-RPC WS-Security

Page 14: Charla

SERVLET – JSP

Page 15: Charla

TECNOLOGÍA SERVLETINTRODUCCION

Son la respuesta de la tecnología Java a la programación CGI.

Programas Java que se ejecutan en el SERVIDOR y construyen dinámicamente una página HTML

Page 16: Charla

Servlets – Caracteristicas Tienen acceso a todas las Apis de Java: JDBC,

JavaMail, etc.. Permiten utilizar cookies y seguimiento de

sesiones (HttpSession), muy útiles para el desarrollo de aplicaciones Web.

Define métodos para atender a cada una de las peticiones de HTTP que se puedan dar: doGet, doPost, doPut...

Dos Parámetros importantes:• HttpServletRequest: modeliza la petición del usuario y

contiene información de la petición HTTP realizada• HttpServletResponse: objeto que implementa la conexión

de salida con el usuario

Page 17: Charla

Servlets – Comparativa con CGI

Eficiencia: CGI arranca un proceso por cada llamada. En Servlets, por cada llamada se controla por un thread de Java

Potencia: Permite hacer fácilmente cosas que son complicadas de hacer con CGI normal

Portabilidad: Escrito en Java Funcionalidad: acceso a la Api de Java Barato: añadir soporte para servlets en un

servidor web es gratuito o muy barato

Page 19: Charla

Servlets - Ejemplo http://miservidor:8080/HelloWorld?nombre=Iñaki Servlet que escribe código HTMLpublic class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html"); String nom = request.getParameter(“nombre”);

PrintWriter out = response.getWriter(); out.println( "<HTML>\n" + "<HEAD><TITLE>Hello World</TITLE></HEAD>\n" + "<BODY>\n" + "<H1>Hello World, + nom + </H1>\n" + "</BODY>+</HTML>" );

} }

Page 20: Charla

Tecnología JSP – Introduccion

Es un fichero de texto con etiquetas HTML y código java embebido

Se compilan automáticamente según se necesitan: se convierte en un servlet

Desde un JSP: uso de JavaBeans, uso de JDBC. Cualquier clase de Java

Page 21: Charla

JSP - Ejemplo

<%@ page import=“ java.util.*” %><html>

<head><title>Ejemplo de JSP</title></head><body><% Date date = new Date();String hoy = DateFormat.getDateInstance().format(d);%><h1> Hola, <%request.getParameter(“nombre”)%></h2><br><h2>Hoy es : <%= hoy %> </h2></body>

</html>

servletservlet

fichero jsp

compilación

Page 22: Charla

JSP vs Servlet

• Servlets: Java con HTML embebido• JSPs: HTML con Java embebido

Semejanzas: JSP son una extensión de Servlets. No aporta

funcionalidades nuevas Un JSP compilado es un Servlet Misma función: construir contenido dinámico

Diferencias: JSP separa más claramente el diseño de la lógica Más sencillo modificar código HTML que miles de

sentencias println

Page 23: Charla

CONTROLCONTROL

JSP – SERVLET: FUNCIONAMIENTO GENERAL

cliente servidor

servlet

jsp

MODELOVISTA

Page 24: Charla

IDE´S - SERVIDORES

Page 25: Charla

IDE´s

Alternativa a la línea de comandos Integración de herramientas:

Compilación Depuración (necesitan el SDK) Ant, CVS…

Modulares: ampliables mediante plugins Ayuda a la programación

Page 26: Charla

IDE´s

Eclipse: Open Source, impulsado por IBM meta-IDE: sirve para muchas cosas SWT: sustituye a AWT y Swing

NetBeans: Open Source, desarrollado por Sun Generación automática de plantillas Java 100% estándar

Page 27: Charla

Otros IDE

BlueJ (http://www.bluej.org/) - Software libre jCreator (http://www.jcreator.com/) - Software

propietario, versión gratuita disponible. Sun Java Studio

(http://wwws.sun.com/software/sundev/jde/) - Software propietario, extensión de netBeans.

JBuilder (http://www.borland.com/jbuilder/) - Software propietario

IntelliJ IDEA (http://www.jetbrains.com/idea/) - Software propietario

Page 28: Charla

Motor de Servlet

Aplicación que contiene la aplicación java Necesario para ejecutar los servlet y jsp Productos

Apache Tomcat BEA WebLogic IBM WebSphere Sun/Netscape IPlanet Macromedia JRun …