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:
- Eclipse (versión EE)/STS IDE
- Archivos JAR de primavera
- 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:
- Paso 1: cree un proyecto web dinámico en su STS IDE. Puede consultar este artículo para crear un proyecto web dinámico en STS: ¿Cómo crear un proyecto web dinámico en Spring Tool Suite?
- Paso 2: descargue el archivo Spring JAR desde este enlace y vaya a la carpeta src> main> webapp> WEB-INF> lib y pase estos archivos JAR.
- Paso 3: Configure el servidor Apache Tomcat y configure el servidor Tomcat con la aplicación. Ahora estamos listos para ir.
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:
Publicación traducida automáticamente
Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA