INTRODUCCIN A LAS APLICACIONES WEB Y TECNOLOGA JAVA
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 l Lenguaje orientado a objetos creado por Sun Microsystems • Encapsulación – ocultacion de datos y metodos • Herencia • Polimorfismo – circulo. area() , cuadrado. area() l É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 l 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 Ø l Ø Herencia simple: l Ø void, char, boolean, byte, int, array las clases derivadas pueden añadir variables y (re)definir métodos Herencia múltiple: interfaces l 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 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. l l HTML estático Aplicaciones “pobres” Ø Posteriormente, ejecución de código en el lado del cliente: l l HTML dinámico: Java. Script Principalmente mejoras de interfaz
Evolución (II) Ø Programación en el lado del servidor: l l l l CGIs Páginas ASP Páginas JSP, servlets PHP J 2 EE, . NET Zope, Ruby on Rails …
Evolución (III) Ø Web Services l l l 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, Java. Mail, etc. . Ø Permiten utilizar cookies y seguimiento de sesiones (Http. Session), 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: do. Get, do. Post, do. Put. . . Ø Dos Parámetros importantes: Ø • Http. Servlet. Request: modeliza la petición del usuario y contiene información de la petición HTTP realizada • Http. Servlet. Response: 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/Hello. World? nombre=Iñaki Ø Servlet que escribe código HTML public class Hello. World extends Http. Servlet { public void do. Get(Http. Servlet. Request request, Http. Servlet. Response response) throws Servlet. Exception, IOException { response. set. Content. Type("text/html"); String nom = request. get. Parameter(“nombre”); Print. Writer out = response. get. Writer(); out. println( "<HTML>n" + "<HEAD><TITLE>Hello World</TITLE></HEAD>n" + "<BODY>n" + "<H 1>Hello World, + nom + </H 1>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 Java. Beans, 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 = Date. Format. get. Date. Instance(). format(d); %> <h 1> Hola, <%request. get. Parameter(“nombre”)%></h 2> <h 2>Hoy es : <%= hoy %> </h 2> </body> </html> fichero jsp
JSP vs Servlet • Servlets: Java con HTML embebido • JSPs: HTML con Java embebido Ø Semejanzas: l l l Ø 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: l l 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 VISTA cliente servidor jsp MODELO
IDE´S - SERVIDORES
IDE´s Alternativa a la línea de comandos Ø Integración de herramientas: Ø l l l Compilación Depuración (necesitan el SDK) Ant, CVS… Modulares: ampliables mediante plugins Ø Ayuda a la programación Ø
IDE´s Ø Eclipse: l l l Ø Open Source, impulsado por IBM meta-IDE: sirve para muchas cosas SWT: sustituye a AWT y Swing Net. Beans: l l l Open Source, desarrollado por Sun Generación automática de plantillas Java 100% estándar
Otros IDE Blue. J (http: //www. bluej. org/) - Software libre Ø j. Creator (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 net. Beans. Ø JBuilder (http: //www. borland. com/jbuilder/) Software propietario Ø Intelli. J 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 l l l Apache Tomcat BEA Web. Logic IBM Web. Sphere Sun/Netscape IPlanet Macromedia JRun …
EJEMPLO PRÁCTICO
- Slides: 29