Spring Boot 2 + MVC Parte 1| Usando JSP?

Como no perder la cabeza tratando de entender MVC. Dejame explicarte que es? y como implementarlo de una manera basica.

Que es MVC?

Es la solucion al problema de como conectar el CLIENTE con el SERVIDOR, en este caso en una aplicacion web de manera rapida, organizada y sencilla.

Con Spring Boot Framework se puede implementar el patron de diseño Modelo – Vista – Controlador mejor conovido como MVC, donde la capa llamada vista (archivos HTML o JSP) que normalmente es el cliente en nuestra aplicacion web se comunica con la capa de negocio (Archivos Java llamados Controladores) que seria el servidor, por medio de Modelos (Archivos Java mejor conocidos como Plain Old Java Object).

Para comprender como se comunica una aplicacion web que implementa el patron de diseño MVC analisa la siguiente imagen:

El cliente hace un request al despachador de servlets y este llama al encargado de mapeo url, identifica a que controller y que metodo estas queriendo acceder y le devuelve esa informacion al despachador para invocar ese metodo.

En la declaracion del metodo puedes poner tu model(POJO) Y si los atributos del request son iguales a los atributos de tu POJO, la implementacion de Spring Boot MVC asignara esos valores automaticamente, permitiendote utilizar esa informacion para tu logica de negocio y persistencia.

Una vez terminado el proceso anterior vas a querer mostrar algun tipo de mensaje o pagina web, aqui es donde entra el view. Debes indicarle a Spring Boot cual es la siguiente pagina y que informacion deseas enviar. Spring Boot creara un view(response) en base a esa informacion y se lo devolvera al cliente.

Manos a la obra.

Paso a Paso:

En el siguiente video te mostrare paso a paso como crear una aplicacion WEB, con arquitectura MVC, ademas podras encontrar el codigo en github para poder compararlo con el tuyo.

github: Repositorio github

  1. Crear Proyecto:
    1. Asegurate de utilizar el initializr de spring boot
    2. Selecciona el tipo de packaging war
    3. Selecciona la dependencia WEB
    4. Finish (Si necesitas ayuda creando proyecto con SpringBoot revisa mi tutorial Spring Boot – Que es? y como se come?
  2. Configuracion para que interprete archivos JSP:
    1. Crear la estructura de carpetas src/main/webapp/WEB-INF/jsp
    2. Crear los archivos jsp que necesite tu proyecto
    3. Agrega estas dos atributos en el archivos application.properties :
      1. spring.mvc.view.prefix: /WEB-INF/jsp/
      2. spring.mvc.view.suffix: .jsp
      3. Alterar ruta de ubicacion para JSP
    4. Agrega la siguiente dendencia al archivo application.properties
      1. Dependencia necesaria para compilar JSP en Spring Boot

Ok, ya tu proyecto esta listo para ejecutar archivos JSP, procede a crear los puntos de acceso o controladores:

  1. crea una clase Java y en la declaracion de la clase agrega la notacion @Controller
  2. hay diferentes maneras de crear metodos dependiendo del proposito:
    1. Para renderizar un JSP, declara un metodo que retorne un String (el nombre del jsp)
    2. Agrega la anotacion @GetMapping y dentro de su constructor agrega la ruta en la url por la cualquieras acceder a ese JSP
    3. Ejemplo de un Controller simple donde redireccionas a otra pagina.
       
    4. Si quieres mas ejemplo de como enviar y recibir datos desde y hacia un jsp mira el video que hay mas arriba.

No uses mas JSP y da un paso alfrente y se mas productivo creando codigo mas limpio y entendible para otros, usando Thymeleaf. No olvides de ver la segunda parte de este tutorial. Spring Boot + MVC Parte 2| Usando Thymeleaf

Para cerrar :

Spring Boot es muy popular para la creacion de Paginas y Servicios Web, poco a poco explicare mas a fondo las capacidades y caracteristicas unicas de SPRING BOOT.

Espero este post responda tus dudas y si tienes alguna sugerencia y/o aporte por favor dejalo en los comentarios.

Gracias,

@Cruizg93

Spring Boot Introduccion:

  1. Spring Boot – 01 – Que es? y como se come?
  2. Spring Boot + MVC Parte 1| Usando JSP?
  3. Spring Boot + MVC Parte 2| Usando Thymeleaf
  4. Spring Boot CRUD + MVC + JPA + H2 Parte 1
  5. Spring Boot CRUD + MVC + JPA Relaciones 1:1 y *:*

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *