Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccion A Las Aplicaciones Web y Tecnologia Java
Introduccion A Las Aplicaciones Web y Tecnologia Java
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
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
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