Upload
yanetzis
View
260
Download
2
Embed Size (px)
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 - Funcionamiento
cliente servidor
servlet
pagina.html
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 …