Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
WEB
Desarrollo de
aplicaciones Web
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()
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
TECNOLOGÍA SERVLET
INTRODUCCIÓN
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.
servlet
JSP - Ejemplo
<%@ 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
• 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
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
–…
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
3.4 Ambientes para el desarrollo de
aplicaciones Web.
• Los IDE (ambientes integrados de desarrollo)
para aplicaciones Web son muy numerosos.
• Considerar los que permitan trabajar con los
diferentes lenguajes para Web.
• Algunos son específicos para lenguajes del
lado del servidor. Por ejemplo, Visual Studio
solo soporta ASP.NET del lado del servidor.
• Existen IDE’s de buena cantidad, libres y
gratuitos de buena calidad.
3.4 Ambientes para el desarrollo de
aplicaciones Web.
• Algunos ejemplos de IDE para Web:
– Microsoft Visual Studio.
– Microsoft Web Developer Express.
– Mono (para ASP.NET).
– NetBeans.
– Jbuilder.
– Eclipse.
Otros IDE
Otras experiencias:
• Bireme