Descargar

Introducción a las aplicaciones web y tecnología java

Enviado por Pablo Turmero


    edu.red

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

    edu.red

    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

    edu.red

    Plataforma Java

    edu.red

    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 constantes class Circulo extends Figura implements Superficie

    edu.red

    CONTROL DE ACCESO En variables y métodos miembro Tres tipos: public protected private

    edu.red

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

    edu.red

    Aplicaciones Web

    edu.red

    Pila de protocolos HTTP TCP MAC – LLC FÍSICO IP HTML

    edu.red

    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

    edu.red

    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

    edu.red

    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 …

    edu.red

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

    edu.red

    SERVLET – JSP

    edu.red

    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

    edu.red

    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

    edu.red

    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

    edu.red

    Servlets – Funcionamiento cliente servidor servlet pagina.html

    edu.red

    Servlets – Ejemplo http://miservidor:8080/HelloWorld?nombre=Iñaki Servlet que escribe código HTML public 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>" ); } }

    edu.red

    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

    edu.red

    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> servlet fichero jsp compilación

    edu.red

    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

    edu.red

    CONTROL JSP – SERVLET: FUNCIONAMIENTO GENERAL cliente servidor servlet jsp MODELO VISTA

    edu.red

    IDE´S – SERVIDORES

    edu.red

    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

    edu.red

    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

    edu.red

    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

    edu.red

    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 …