Charla

Preview:

Citation preview

INTRODUCCIÓN A LAS APLICACIONES WEB Y

TECNOLOGÍA JAVA

Índice

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

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

Plataforma Java

Java Language

Java Bytecode

Java Virtual Machine

Java API

Plataform

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

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

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()

Aplicaciones Web

Pila de protocolos

HTTP

TCP

MAC - LLC

FÍSICO

IP

HTML

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

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

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 …

Evolución (III)

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

SERVLET – JSP

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

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

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

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>" );

} }

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

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

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

CONTROLCONTROL

JSP – SERVLET: FUNCIONAMIENTO GENERAL

cliente servidor

servlet

jsp

MODELOVISTA

IDE´S - SERVIDORES

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

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

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

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 …