Download INTRODUCCIÓN A LAS APLICACIONES WEB Y TECNOLOGIA JAVA
Document related concepts
no text concepts found
Transcript
INTRODUCCIÓN A LAS APLICACIONES WEB Y TECNOLOGÍA JAVA Jaime Fernández Mayo 2006 Í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 API Java Virtual Machine Plataform Características El código Java se estructura en clases 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 se estructuran a su vez en paquetes 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 CONTROL DE ACCESO - En variables y métodos miembro Tres tipos: - public protected private Modificador acceso Misma clase Subclase Clase externa en el mismo paquete Clase externa en otro paquete Public Protected [*] Private 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 HTML HTTP TCP IP MAC - LLC FÍSICO 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 SERVLET INTRODUCCION 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 - Funcionamiento servlet cliente servidor pagina.html 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>" ); } } 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 servlet <%@ page import=“ java.util.*” %> <html> <head> <title>Ejemplo de JSP</title> </head> <body> compilación <% Date date = new Date(); String hoy = DateFormat.getDateInstance().format(d);%> <h1> Hola, <%request.getParameter(“nombre”)%></h2> <br> <h2>Hoy es : <%= hoy %> </h2> </body> </html> fichero jsp 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 JSP – SERVLET: FUNCIONAMIENTO GENERAL CONTROL servlet MODELO VISTA cliente servidor jsp 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 … EJEMPLO PRÁCTICO