Í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
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
CONTROL DE ACCESO En variables y métodos miembro Tres tipos: 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 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 – Funcionamiento cliente servidor servlet 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 < %@ 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
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
CONTROL JSP SERVLET: FUNCIONAMIENTO GENERAL cliente servidor servlet jsp MODELO VISTA
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