¿Cómo crear tu primer modelo en Spring MVC?

Spring MVC es un marco Web MVC para crear aplicaciones web. El marco Spring MVC se compone de los siguientes componentes:

  • Modelo : Un modelo puede ser un objeto o una colección de objetos que básicamente contiene los datos de la aplicación.
  • Vista : una vista se utiliza para mostrar la información al usuario en un formato específico. Spring soporta varias tecnologías como freemarker , speed y thymeleaf .
  • Controlador : Contiene la parte lógica de la aplicación. La anotación @Controller se usa para marcar esa clase como controlador.
  • Front Controller : Sigue siendo el responsable de gestionar el flujo de la aplicación web. DispatcherServlet actúa como un controlador frontal en Spring MVC.

Como ya hemos discutido la parte del controlador para descubrir cómo podemos crear y ejecutar su primer controlador Spring MVC y la parte de la vista de Cómo crear su primera vista en Spring MVC. Ahora solo nos queda la parte de Model. Entonces, en este artículo, crearemos nuestro primer modelo en Spring MVC usando Spring Tool Suite IDE. 

Nota : Los modelos no son nada, son solo datos. 

Pre-requisito : Previo al mismo, se necesitan ciertos requisitos que son los siguientes:  

  1. Eclipse (versión EE)/STS IDE
  2. Archivos JAR de primavera
  3. La última versión de Tomcat Apache

Nota : Vamos a utilizar Spring Tool Suite 4 IDE para este proyecto. Consulte cómo descargar e instalar Spring Tool Suite para Eclipse IDE

Implementación: Se ilustra a continuación paso a paso de la siguiente manera:

Configuración del servlet de despachador

Nota: Uno debe ser muy consciente de lo que es Dispatcher Servlet en Spring , ya que es un concepto crucial para comprender antes de seguir adelante. 

Ahora vamos a configurar Dispatcher Servlet con nuestra aplicación Spring MVC. 

Paso 4: Vaya al archivo src > main > webapp > WEB-INF > web.xml .

Archivo: web.xml

XML

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.geeksforgeeks.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
                             http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    id="WebApp_ID" version="4.0">
    <display-name>springmvc-view-resolver</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.jsp</welcome-file>
        <welcome-file>default.htm</welcome-file>
    </welcome-file-list>
  
    <absolute-ordering />
  
    <servlet>
        <!-- Provide a Servlet Name -->
        <servlet-name>viewresolver-dispatcher</servlet-name>
        <!-- Provide a fully qualified path to the DispatcherServlet class -->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
  
    <servlet-mapping>
        <!-- Provide a Servlet Name that you want to map -->
        <servlet-name>viewresolver-dispatcher</servlet-name>
        <!-- Provide a url pattern -->
        <url-pattern>/demo.com/*</url-pattern>
    </servlet-mapping>
  
</web-app>

Paso 5: Ahora ve a   src > main > webapp > WEB-INF  y crea un archivo XML. En realidad, este es un archivo de configuración de Spring como el archivo beans.xml. Y el nombre del archivo debe estar en este formato.

YourServletName-servlet.xml  

Por ejemplo: Para este proyecto, el nombre del archivo debe ser

viewresolver-dispatcher-servlet.xml 

Entonces, puede crear un archivo de configuración de Spring o simplemente puede crear un archivo XML simple y agregar las siguientes líneas de código dentro de ese archivo.

Archivo: viewresolver-despachador-servlet.xml

XML

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.geeksforgeeks.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">
    
  <!-- This Line is used for scanning all the packages that have controller classes -->
  <context:component-scan base-package="com.demo.controllers"></context:component-scan>
  
</beans>

Creación del controlador Spring MVC

Paso 6: Ahora, creemos algunos controladores. Vaya a src/main/java y cree un nuevo paquete de controladores (por ejemplo, com.demo.controllers) según su elección. Y dentro de eso, cree una clase Java y nombre la clase como DemoController . Ahora, cómo decirle a Spring que esta es nuestra clase de controlador. Entonces, la forma en que vamos a decirle a Spring es marcándolo con una anotación @Controller .

@Controller
public class DemoController {}

Nota: Spring inicializará automáticamente la clase que tenga una anotación @Controller y registrará esa clase con el contenedor Spring.

Ahora, creemos un método simple dentro de la clase Controller y usemos la anotación @RequestMapping antes del método, algo así.

// Annotation 
@RequestMapping("/hello")

// Method 
public String helloWorld() 
{
    return "";
}

Ahora, en la declaración de devolución, tenemos que devolver algunas vistas (páginas web), de modo que cada vez que se invoque el punto final ‘/hello’, podemos ver nuestro resultado en la página web. Así que vamos a crear nuestra primera Vista.

Creación de vista

Vaya a src> main> webapp> WEB-INF> haga clic con el botón derecho en> New> Folder y nombre la carpeta como vistas. Luego vistas> clic derecho> Nuevo> Archivo JSP y nombre su primera vista. Aquí lo hemos nombrado como archivo demo.jsp . A continuación se muestra el código para el archivo demo.jsp . Hemos creado una página web simple dentro de ese archivo. 

Archivo: demo.jsp

HTML

<!DOCTYPE html>
<html>
<body>
    <h1 align="center">GeeksforGeeks Welcome Page!</h1>
</body>
</html>

Ahora ve a la clase DemoController y dentro del método helloWorld() tenemos que devolver un valor como este.

return "demo";

Archivo: DemoController.java 

Java

// Java Program to Illustrate DemoController Class
  
package com.demo.controllers;
  
// Importing required classes
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
  
// Class
@Controller
public class DemoController {
  
    // Method
    @RequestMapping("/hello") public String helloWorld()
    {
        // Just return the page name
        // No Path, no extension
        return "demo";
    }
}

Creando el primer modelo

Ahora vamos a crear nuestro primer modelo dentro de nuestra aplicación Spring MVC. Vamos a enviar datos a la vista (página jsp) desde los métodos del controlador del controlador. Así que ahora vamos a crear un valor de string usando el literal de string algo como esto

String myName = "Amiya Rout";

Y aquí vamos a enviar estos datos de «miNombre» a la página jsp. Y podemos hacerlo usando la interfaz Model que está presente dentro del paquete “org.springframework.ui.Model” en Spring. Podemos escribir el código algo como esto

public String helloWorld(Model model) {
    // Sending data to view (jsp page)
    String myName = "Amiya Rout";
    model.addAttribute("myNameValue", myName);
}

El código completo para DemoController.java se proporciona a continuación.

Archivo: DemoController.java 

Java

// Java Program to Illustrate DemoController Class 
  
package com.demo.controllers;
  
// Importing required classes 
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
  
// Class 
@Controller
public class DemoController {
  
    // Method 
    @RequestMapping("/hello")
    public String helloWorld(Model model) {
        
        // Sending data to view (jsp page)
        String myName = "Amiya Rout";
        model.addAttribute("myNameValue", myName);
          
        // Just return the page name
        // No Path, no extension
        return "demo";
    }
  
}

Y para mostrar los datos dentro de nuestra página jsp, tenemos que modificar la página demo.jsp . Y podemos hacerlo con la siguiente línea de código

${myNameValue}

Ahora el código completo para Demo.jsp se proporciona a continuación y ya está. Ahora, ejecutemos la aplicación. 

HTML

<!DOCTYPE html>
<html>
<body>
    <h1 align="center">GeeksforGeeks Welcome Page!</h1>
    <hr>
    My name is: ${myNameValue}
</body>
</html>

Ejecutar la aplicación Spring MVC

Paso 8: para ejecutar su aplicación Spring MVC , haga clic con el botón derecho en su proyecto> Ejecutar como> Ejecutar en el servidor y ejecute su aplicación como se muestra en la imagen a continuación. 

Después de eso, use la siguiente URL para ejecutar su controlador

http://localhost:8080/springmvc-view-resolver/demo.com/hello

Producción:

Output

 

Publicación traducida automáticamente

Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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