Í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