Está en la página 1de 29

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
 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
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

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

También podría gustarte