Hola y bienvenidos a esta elección.
A continuación vamos a estudiar el patrón de diseño MBC y el alcance de variables.
Cuando trabajamos con dilapide servlets y JSP están listos.
Vamos bien como primer paso vamos a cerrar este proyecto.
Si lo tenemos abierto damos clic derecho y Clowes ahora vamos a crear un nuevo proyecto en Finnair Project
seleccionamos llevá web Mayrén y posteriormente Web applications.
Damos clic en Next y el nombre del proyecto se va a llamar ejemplo 1 MBC de Model View Controller.
Lo depositamos en la carpeta de curdos JSP.
Aunque a partir de este momento vamos a mezclar los temas de JSP es concebibles bien dejamos los demás
valores por default quitamos el nombre del paquete y damos clic en Siguiente dejamos los valores por
default y damos siguen finalizar
bien con esto ya se ha creado nuestro proyecto vamos a cambiar el nombre damos el derecho a arruiné
damos sigue ok
si se agregó este código también lo seleccionamos y vamos a eliminarlo.
Bien con eso ya tenemos nuestro proyecto y vamos a empezar a trabajar.
Lo primero que vamos a hacer es modificar nuestro archivo de índex HTML.
Vamos a cambiar el título que se vaya a dar ejemplo MBC y también el título va a ser ejemplo MBC
posteriormente agregamos un salto
agregamos una Chérrez y ahora en lugar de utilizar directamente el nombre de nuestra aplicación vamos
a empezar a trabajar ya el context Path ya que en dado caso de que la aplicación cambie de nombre ya
sea a nivel de carpeta o a través del context Path de la aplicación entonces dinámicamente vamos a obtener
este nombre.
Para ello vamos a utilizar Expression Language seleccionamos el objeto paiche context posteriormente
el objeto del juez y finalmente se manda llamar el método GET contextual pero recordemos que estamos
utilizando Java Vins entonces simplemente ponemos el nombre de nuestra variable y esto va a mandar a
llamar de manera indirecta.
El método GET contextual bien con esto ya vamos a tener el nombre de nuestra aplicación de manera dinámica
y posteriormente utilizamos el nombre del servlet.
En este caso todavía no lo hemos creado pero lo vamos a crear a continuación se va a llamar servlet
controlador.
Este va a ser el wearable que vamos a utilizar para mapear este componente y agregamos el link Link
al servlet controlador
que despliega las variables bien así que se sube el código de nuestra página de índex HTML.
Ahora antes de agregar el controlador vamos a agregar a nuestra clase de modelo del patrón de diseño
modelo vista controlador.
Vamos a crear primero nuestra clase de modelo así que sobre nuestro proyecto damos clic derecho Nioh
y seleccionamos Java class.
La clase se va a llamar rectángulo y lo depositamos en el paquete de modelo ya que esta clase va a hacer
las veces de modelo en el patrón de diseño modelo vista controlador y damos siguen finalizar
quitamos los comentarios y esta clase va a tener los siguientes atributos.
Va a tener el atributo de base y altura así le agregamos los elementos privados de tipo entero llamado
base y altura posteriormente vamos a agregar el constructor vació ya que debe ser un Babin
y también vamos a agregar un constructor con dos argumentos para inicializar los argumentos de base
y altura inicializar cada uno de los atributos con los argumentos que estamos recibiendo
bien conocida tenemos los constructores y ahora vamos a llegar a los métodos jet set para cada atributo
podemos generarlos con ayuda de Lide damos su derecho Intercorp seleccionamos Guedea anteceder y seleccionamos
los elementos los atributos de altura y base y con eso se generan los métodos jet set y finalmente vamos
a agregar también el método Guetaria así que definimos el método público va a regresar un entero se
llama Guetaria y va a retornar la operación de base por altura
bien con eso ya hemos definido nuestra clase de rectángulo esto es lo que vamos a agregar
ahora como siguiente paso vamos a definir nuestra clase de Servlet controlador.
Así que sobre nuestro proyecto damos el derecho Nioh Java class y creamos la clase servlet controlador
y la depositamos en el paquete de controlador esto es para que sea muy explícito el rol que juega cada
uno de estos componentes en el patrón de diseño MVC Modelo Vista Controlador.
Así quedamos en finalizar quitamos estos comentarios y definimos nuestro servlet agregamos la notación
de Cerler indicamos el Paz que en este caso lo podemos tomar de la página de índex y debe de ser el
mismo que este de Servlet controlador hacemos extensión de http: servlet
portamos esta notación y esta clase ponemos punto asterisco para que importe todas las clases del paquete
y ahora vamos a agregar la sobre escritura del método Duguech así escribimos protected Veidt Droguett
recibimos los parámetros
para recibir el objeto recuesto
y también el objeto respondes bien y con eso ya estamos escribiendo correctamente el método Duguech.
Ahora vamos a establecer los pasos de nuestro controlador en primer lugar si es que existen procesamos
los parámetros pero en este primer ejemplo no vamos a utilizar ningún parámetro por lo tanto este primer
paso no vamos a realizar ninguna acción como paso 2 vamos a crear los lleva Vins
que vamos a utilizar en la aplicación así que en este caso vamos a utilizar nuestra clase de modelo
rectángulo.
Declaramos una variable llamada RedQ
y creamos un objeto de tipo rectángulo con los valores de base 3 y altura 6 importamos esta clase del
paquete de modelo ya que es nuestra clase de modelo y como tercer paso agregamos el ya Badín algún alcanze
como puede ser request Saison o application.
En este caso vamos a dejarlo en el alcance de recuesto mandamos a llamar el método shed atributo y lo
que vamos a hacer es primero agregar una variable llamada mensaje antes del rectángulo vamos a agregar
este mensaje y agregamos el mensaje saludos desde el servlet así que esta es la primera variable que
estamos compartiendo es una variable de tipo string llamada mensaje y su valor es saludos desde el servlet
y posteriormente esta variable la vamos a buscar desde el JSP para mostrar esta información hacia el
cliente.
El servlet ya no se va a encargar de responder directamente a la información hacia el cliente así que
en este caso ya no vamos a utilizar por ejemplo respondés ser contentarme.
Esto ya lo va a hacer el JSP ya no lo vamos a hacer es deseable bien ahora como siguiente paso vamos
a compartir el de rectángulo pero no lo vamos a compartir en el alcance de recuesto sino que lo vamos
a compartir en el alcance de saison para que también vean cómo vamos a compartir esta información en
otro tipo de alcance.
Así que vamos a utilizar nuestro objeto http: Saison definimos nuestra variable sesión y con ayuda de
la variable recuesto solicitamos el método guettos.
Con eso obtenemos la sesión de nuestra aplicación y posteriormente con este objeto sesión agregamos
el atributo utilizando el método set atributo el nombre de la variable que vamos a compartir se llama
rectángulo pero la variable si recordamos no le llamamos rectángulo aunque pudo haber sido así en este
caso simplemente le llamamos REC y por lo tanto esta es la variable que vamos a compartir.
Ese es el nombre es decir la llave y este es el valor así que lo que vamos a buscar desde el JSP es
este nombre.
El nombre del rectángulo y lo que nos va a regresar es el valor de la variable que hemos creado en este
momento de la variable rectángulo.
Bien hasta aquí ya tenemos entonces compartido en el alcance de saison la variable de rectángulo y finalmente
lo que hacemos es redireccionar
redireccionan a la vista seleccionada así que lo que vamos a hacer es obtener nuestro objeto recuas
despachar
declaramos la variable recuas despachar enredé y con ayuda de la variable recuesto solicitamos el método
JETRO el cual despachar y posteriormente indicamos el JSP que vamos a utilizar en este caso es un JSP
público.
Por lo tanto podemos utilizar el nombre directamente del JSP en este caso lo vamos a depositar en la
carpeta de vista y el JSP que vamos a crear posteriormente se va a llamar desplegar variables puntos
JSP importamos esta clase y con esto lo que hacemos es obtener la vista a la cual vamos a redireccionar
y una vez que ya tenemos el objeto recuas de despachar apuntando a la vista que vamos a redirigir entonces
lo que hacemos es propagar los objetos recuas y responder a este JSP así que utilizamos nuestra variable
recuas despachar y posteriormente mandamos a llamar el método forward propagando los objetos request
y Luis Pons así que este JSP va a recibir este objeto recuas y respondés para poder recuperar la información
que se le ha compartido en cualquier alcance por ejemplo en este caso en el alcance de recuesto en el
alcance de sesión o posteriormente vamos a ver otro ejemplo para ver también cómo compartir información
en el alcance de la aplicación.
Sin embargo este método podría lanzar una decepción por lo tanto hay que reportarla en este caso podría
arrojar una sección de tipo servlet exception así que la reportamos en el método también puede arrojar
una excepción de tipo O exception también la reportamos y con eso ya tenemos completo nuestro método
Duguech del servlet controlador ya tenemos cada uno de los pasos del flujo del patrón de diseño modelo
vista controlador y por último vamos a crear nuestra vista desplegar variables dentro de la carpeta
de vista así que sobre UEP Tellez damos un derecho no JSP el JSP se va a llamar desplegar variables
tal cual como está escrito respetando mayúsculas y minúsculas y el folder donde lo vamos a depositar
se llama Vista de tal manera que lo debemos de depositar en el nombre del proyecto sours UAP.
Posteriormente se crea el fólder de vista y finalmente el nombre de nuestro JSP desplegar variables
punto JSP dejamos los demás valores por default y damos clic en Finalizar
bien y con eso ya se en nuestro JSP.
Vamos a quitar estos comentarios y la directiva de PAIS
agregamos el siguiente titulo despliegue de variables
iba a ser el mismo título de nuestra página.
Posteriormente vamos a indicar el texto variable en alcance de recuesto y lo que vamos a hacer es imprimir
el valor de la variable mensaje utilizamos Expression Language para acceder directamente a nuestra variable
simplemente ponemos el nombre de la variable y esto va a desplegar el valor asociado a esta variable
mensaje
Expression Language en lo que va a ser es buscar directamente en alguno de los alcances una variable
que se llame mensaje así que va a buscar primero en el alcance de Patch pero recordemos que el alcance
de Peach está asociado únicamente a los jote Sepes en el tiempo de traducción del JSP.
Posteriormente buscan el alcance de recuesto posteriormente Saison y finalmente aplicación.
En ese orden va a buscar esta variable y en el primer alcanze que encuentre este nombre de esta variable
va a utilizar esa variable.
Recordemos que esta variable de mensaje la compartimos en el alcance de recuesto recuas el atributo
agregamos este nombre de la variable mensaje con el valor.
Saludos desde el servlet vamos a probar hasta aquí guardamos cambios vamos a hacer un click también
y en hora ejecutamos damos clic derecho Roll y esperamos a que termine de levantarse glacis
bien con eso ya se ha desplegado en nuestra aplicación y si damos clic sobre este link aquí algo se
procesó mal en la expresión lenguaje ya que no está reconociendo este símbolo.
Vamos a revisar
aquí debido a que estamos utilizando sintaxis de Jota y Sepes.
Este archivo no puede ser HTML ya que como estamos viendo de lo contrario no va a procesar correctamente
esta información así que vamos simplemente a crear un JSP sobre web y damos un derecho Nioh JSP se va
a llamar índex y vamos a reemplazar el Código de la página de índex HTML.
Copiamos todo este contenido y lo depositamos en el JSP debido a que tenemos contenido de JSP estamos
utilizando expression lenguaje y esto no lo va a poder procesar un código de HTML puro así que eliminamos
ese archivo de Indexa HTML.
Damos clic derecho de Link y ya tenemos los archivos de Index el cual va a ser la llamada al controlador
utilizando la variable de contextual obteniendo la dinámicamente bien así que vamos a ejecutar nuevamente
damos clic derecho Rong ya se desplegado en nuestra aplicación y podemos observar en la parte inferior
el link.
Ya se ha generado correctamente así que tenemos el nombre de nuestra aplicación.
Ejemplo 1 MBC y este nombre se obtuvo dinámicamente con ayuda de la variable Paix context y posteriormente
mandamos a llamar nuestro controlador bien así que vamos a dar click y podemos observar que en este
momento se ha desplegado variable en alcanze recuesto el valor de saludos desde el servlet así que ya
estamos accediendo correctamente a la variable de mensaje desde el JSP y esta información se compartió
desde el controlador bien así con esto ya tenemos el flujo completo.
Vamos a continuar en nuestro JSP de desplegar variables seguimos agregando el siguiente código vamos
a agregar ahora dos saltos
y vamos a agregar ahora variable en alcance de decisión ya que hemos compartido si recordamos compartimos
la variable llamada rectángulo en el alcance de saison así que vamos a acceder variable en alcance de
sesión hagamos un salto e imprimimos el valor de rectángulo.
Vamos a obtener la base y accedemos al valor de base utilizando Expression Language.
Accedemos a la variable rectángulo ya que si recordamos así fue como compartimos el nombre rectángulo.
Así que así es como debemos de buscarlo y utilizarlo cuando trabajamos desde el JSP escribimos el nombre
de la variable que hemos compartido y posteriormente podemos acceder al atributo de base ya que esto
recordemos que indirectamente manda llamar al método GET base del Babin de rectángulo.
Así que esto va a mandar a llamar a este método Guez base bien posteriormente vamos a acceder al atributo
de altura
aunque esa sintaxis pareciera que estamos accediendo directamente al atributo.
Esto no es así recordemos que indirectamente manda llamar al método Goeth altura.
Sin embargo la sintaxis se apoya del estándar de los JavaBeans así que cualquier duda pueden revisar
este tema de Java Vins que hemos visto anteriormente.
Y finalmente accedemos al área de igual manera con ayuda de expresión Language
accedemos al área y esto indirectamente va a mandar a llamar el método Guetaria que hemos definido nuestro
rectángulo Guetaria y según comentamos en el tema de los llevabais no hay necesidad de tener mapeado
una propiedad llamada área.
Podemos observar que en este momento no hay ninguna propiedad llamada área.
Sin embargo debido a que existe el método Guetaria podemos utilizar simplemente como si fuera el nombre
del atributo área desde Expression Language.
Así que desde Expression Language simplemente ponemos Auria y esto indirectamente manda llamar el método
Guetaria.
Esto debido a los estándares de JavaBeans y finalmente agregamos dos saltos de línea
y agregamos un link para regresar al inicio un HR-V debido a que estamos en otra carpeta vamos a poner
el nombre de nuestra aplicación primero para eso utilizamos expresión lenguaje
posteriormente accedemos al objeto de recuesto y finalmente a la variable contextual.
Esto nos regresa al nombre de nuestra aplicación y posteriormente especificamos el JSP de índex punto
JSP así que de esta manera regresamos al índex y ya tenemos todo nuestro código regresamos a nuestra
aplicación y refrescamos y podemos observar ahora que estamos accediendo sin ningún problema a nuestra
variable en el alcance de sesión.
La variable que hemos compartido de rectángulo así que tenemos el rectángulo con base 3 Altura 6 y por
lo tanto el área 6 por 3 nos da el valor de 18 sin embargo aquí nos está desplegando el inglés regresada
al inicio vamos a revisar
aquí me faltó cerrar cerramos este link
y escribimos regresar al inicio
refrescamos nuestra aplicación y ahora ya podemos ver los cambios.
Así que con esto ya tenemos completa nuestra aplicación.
Si damos clic regresar al inicio y damos nuevamente sobre el ser del controlador Podemos se Bakker sin
ningún problema podemos acceder de nueva cuenta a la información compartida en el alcance de recuesto
ya que es la misma petición por lo tanto podemos acceder a la información que se ha compartido en el
alcance de recuesto y posteriormente con mayor razón podemos acceder en el alcance de sesión ya que
esta información se va a eliminar hasta que pasen 30 minutos de inactividad.
De lo contrario esta información va a estar disponible incluso aunque sean diferentes peticiones y regresamos
al inicio y con eso tenemos ya toda nuestra aplicación.
Bien como conclusión del ejercicio hemos puesto en práctica lo básico del patrón de diseño MVC vimos
cómo crear cada una de las clases y componentes que forman parte de este patrón de diseño tanto el controlador
el modelo que fue el Yavin de rectángulo y la vista que fue el JSP de desplegar variables.
A continuación vamos a crear otro ejercicio para emplear más este concepto de patrón de diseño MVC nos
vemos en el siguiente vídeo.
Saludos.