Download Taller MVC

Document related concepts
no text concepts found
Transcript
Aplicaciones Web – Patrón MVC - PostgreSQL
Aplicaciones Web
En la ingeniería software se denomina aplicación web a aquellas aplicaciones
que los usuarios pueden utilizar accediendo a un servidor web a través de
Internet o de una intranet mediante un navegador.
En otras palabras, es una aplicación software que se codifica en un lenguaje
soportado por los navegadores web (HTML, JavaScript, Java, etc.) en la que se
confía la ejecución al navegador.
Una
ventaja
significativa
es
que
deberían
funcionar
igual
independientemente de la versión del sistema operativo instalado en el
cliente.
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
Estructura de una Aplicación Web
Primera Capa (Navegador Web)
Segunda Capa (Lenguaje Web)
Servlets, JSP, PHP, ASP
Tercera Capa (Base de Datos)
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
JSP (JavaServer Pages)
Es una tecnología que permite incluir código Java en páginas web. El
denominado contenedor JSP (que sería un componente del servidor web) es
el encargado de tomar la página, sustituir el código Java que contiene por el
resultado de su ejecución, y enviarla al cliente.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Mi primera página JSP</title>
</head>
<body>
<h1> Hoy es: <%= new java.util.Date() %> </h1>
</body>
</html>.
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
JSP (JavaServer Pages)
Existen tres tipos de elementos JSP que podemos insertar en una página web:
Código: podemos "incrustar" código Java de distintos tipos (declaraciones de variables y/o
métodos, expresiones, sentencias) para que lo ejecute el contenedor JSP.
Directivas: permiten controlar distintos parámetros de la traducción automática del JSP.
Acciones: normalmente sirven para alterar el flujo normal de ejecución de la página (p.ej.
redirecciones), aunque tienen usos variados.
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
JSP (JavaServer Pages)
CÓDIGO: Hay tres formas de insertar código Java en una página JSP
 Expresiones: <%= expresión %>
<h1> Hoy es: <%= new java.util.Date() %> </h1>
 Scriptlets: <% código %>
<% if ((hora>20)||(hora<6)) { %> buenas noches <% }
else if ((hora>=6)&&(hora<=12)) { %> buenos días <% }
else { %> buenas tardes <% } %>
 Declaraciones: <%! código %>
<%! private int accesos = 0; %>
<h1> Visitas: <%= ++accesos %> </h1>
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
SERVLETS
Un servlet es un objeto que se ejecuta en un servidor o contenedor JEE, fue
especialmente diseñado para ofrecer contenido dinámico desde un servidor web.
Los Servlets pueden comunicarse entre sí, y por tanto, es posible una
reasignación dinámica de la carga de proceso entre diversas máquinas. Es
decir, un servlet podría pasarle trabajo a otro servlet residente en otra máquina.
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
SERVLETS – Request & Response
La interfaz ServletRequest permite al servlet acceder a información como, los
nombres de parámetros pasados por el cliente, el protocolo usado por el cliente,
y los nombres de los host remotos que hacen la solicitud y el servidor que la
recibe.
La interfaz ServletResponse proporciona al servlet los métodos para contestarle
al cliente. Permite al servlet configurar la forma de salida de los datos para el
cliente
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
Estructura de un SERVLET
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class NewServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
processRequest(request, response);
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.close();
}
}
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
Patrón MVC
La estructura MVC ("Model-View-Controller") es un paradigma utilizado en
diversos desarrollos de software; a través de este "Framework" se logra una
división de las diferentes partes que conforman una aplicación.
Model: Concentra las funcionalidades relacionadas con el Modelo de datos, esto es, el acceso y
manipulación de depósitos informativos como Bases de Datos y Archivos.
View: Se basa en el aspecto visual/gráfico que será empleado por la aplicación en cuestión.
Controller: Empleado como un mediador entre el medio gráfico ("View") y el modelo ("Model"), coordina
las acciones que son llevadas acabo entre ambos.
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
Patrón MVC
SERVLET
JSP
SERVLETS
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
Herramientas Necesarias
JVM o maquina virtual de java. Soporte para todas las aplicaciones Java.
PostgreSQL. Sistema Manejador de Base de Datos.
IDE (Integrated Development Environment). Editor de código, un compilador y un
depurador.
Servidor de Aplicaciones Web. Soporte para la ejeccion de JSP y Servlets.
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
Edgardo Herrera
Aplicaciones Web – Patrón MVC - PostgreSQL
Edgardo Herrera