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