JAVA MVC

Modelo 1

Se usaban Servlets, JSP y custom Tags, pero sin utilizar una estructura bien definida.

Modelo Vista Controlador (modelo 2)

  • Vista: Son las pantallas que interaccionan con el usuario (la interfaz del usuario) (html y jsp). Todo lo que tenga que ver con la vista se almacena en la carpeta WEB-CONTENT.
  • Controlador: Recibe las peticiones de la vista y se la manda al modelo (servlets).
  • Modelo: Es la parte que se comunica con el servidor (consulta la base de datos, manda un correo, etc.)Son ficheros Java o EJB. En él, no debe haber ninguna referencia al protocolo http, ni request, ni response, ni session, etc.
ejemplo del flujo de vida de una aplicación que implementa el paradigma del modelo-vista-controlador

Lecciones

Ejercicio calculadora

Hacer una calculadora siguiendo el patrón MVC. Si el resultado es mayor que 1000, el controlador redirigirá a una página diferente en la que se felicitará al usuario.

Solventando problemas de codificación

Configuraremos el cliente para recibir y enviar la información en UTF-8. Definiendo la codificación de todas las peticiones Cuando se envía la petición por POST, el servidor TOMCAT no es capaz de saber cuál es el formato de codificación del cliente. Como posible solución está crear un filtro para que […]

Modelo 5 capas

Vista.La apariencia de la página. Son los .jsp, .html, .xhtml, etc.→ Controlador.Recoge la información de la vista y se la manda al BO.→BO.Contiene las llamadas a cada una de las pequeñas operaciones independientes que componen la operación que queremos realizar. En el caso de estar realizando operaciones contra una base de […]

Patrones de diseño → Singleton

Un patrón de diseño es una solución a un problema concreto en el desarrollo de software. Singleton para usar con JPA: EntityManagerFactorySingleton

Proyecto con Maven

Creamos un proyecto Maven sin arquetipo (Create a simple project (skip archetype selection)) y editamos su pom.xml. Si es un proyecto con Eclipse… No te olvides de seleccionar el empaquetado war! 2. Debemos asegurarnos de que en Project facets tenemos marcado Dynamic Web module y Java. Para acceder a las Project facets, pulsaremos con el botón […]

Ejercicios MVC

Ejercicio – Lista de invitados Hacer una página web para una lista de invitados con 4 secciones. Una para consultar los invitados, otra para dar de alta un nuevo invitado y otra para darlo de baja.La tabla que usaremos tendrá dos campos: nombre (VARCHAR) e ID (INT, AUTOINCREMENT, PK). Las […]

Context

Hay un solo Context por cada aplicación web que hay en el servidor. Lo que es propio de cada usuario va en sesión. Lo que es común a todos va en Context. En un carrito de compra, el carrito de cada usuario se almacenaría en una variable sesión, mientras que […]

Serialización

Consiste en convertir un objeto en una sucesión de bits o en un formato humanamente más legible como XML o JSON, entre otros. La serialización es un mecanismo ampliamente usado para transportar objetos a través de una red, para hacer persistente un objeto en un archivo o base de datos, […]

Ejercicio suma sesión y contexto

Hacer un jsp con dos campos, n1 y n2. Al pulsar en el botón sumar, el controlador procesará: la suma de request. la suma de sesión. la suma de contexto. Haremos todas las operaciones en el controlador. Con un listener, cuando baje el servidor guardaré la información de la suma […]

Ejercicio

Repetir el ejercicio de las calidades almacenando los equipos y los jugadores en el contexto. Almacenaré los equipos como un TreeMap y los jugadores como una Collection. Podré recuperar los jugadores de un equipo mediante un método getJugadores() de la clase Equipo. Dicho método devuelve una collection de jugadores. El […]

Web Service

Creamos un Dynamic Web Proyect webService_llamado. Creamos un paquete dentro del proyecto. Creamos una clase llamada ClaseLlamada (llámala cómo quieras, pero no igual que el método) dentro de este proyecto con el siguiente método estático, que recibe un parámetro y devuelve el parámetro transformado. Para dar este paso es posible […]

Aviso Legal | Política de privacidad