El marco Spring MVC permite la separación de módulos, a saber, Modelo, Vista y Controlador, y maneja sin problemas la integración de la aplicación. Esto permite al desarrollador crear aplicaciones complejas que también utilizan clases Java sencillas. Aquí crearemos y ejecutaremos su primera aplicación Spring MVC , siempre que estemos configurando Dispatcher Servlet , estamos configurando dentro de un archivo llamado » web.xml «. Pero no queremos este archivo. Queremos una aplicación Spring MVC con configuración basada en Java, y ¿cómo hacerlo? Entonces, aquí vamos a crear y ejecutar una aplicación Spring MVC sin un archivo web.xml.
Paso 1: Configure el proyecto.
Nota: Vamos a utilizar Spring Tool Suite 4 IDE para este proyecto. Consulte este artículo para instalar STS en su máquina local ¿Cómo descargar e instalar Spring Tool Suite (Spring Tools 4 para Eclipse) IDE?
Vaya a su STS IDE, luego cree un nuevo proyecto maven, Archivo> Nuevo> Proyecto Maven, y elija el siguiente arquetipo como se muestra en la imagen a continuación:
Paso 2: Eliminemos el archivo web.xml
Ahora, eliminemos el archivo web.xml y ejecutemos su aplicación Spring MVC. Podemos ver que nos encontramos con los siguientes problemas, como se muestra en la imagen a continuación. Entonces, tenemos que escribir otro archivo de configuración en lugar de este archivo XML para que podamos eliminar este archivo de manera segura.
Paso 3: agregar algunas dependencias de Maven
Agregue las siguientes dependencias y complementos de maven a su archivo pom.xml .
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.18</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <!-- plugin --> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build>
A continuación se muestra el código completo para el archivo pom.xml después de agregar estas dependencias.
Archivo: pom.xml
XML
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.geeksforgeeks</groupId> <artifactId>spring-calculator</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>spring-calculator Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.18</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>spring-calculator</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build> </project>
Paso 3: Desarrollo del Proyecto
Antes de pasar a la parte de codificación, echemos un vistazo a la estructura del archivo en la imagen de abajo.
3.1: Primero cree una carpeta src/main/java y dentro de esta carpeta cree una clase llamada CalculatorApplicationInitializer y colóquela dentro del paquete com.geeksforgeeks.calculator.config e implemente la interfaz WebApplicationInitializer . Consulte la imagen de abajo.
3.2: Ahora en esta clase, tenemos que realizar las siguientes 2 operaciones principales que se enumeran a continuación de la siguiente manera:
- Crear un objeto de servlet de despachador
- Registrar el servlet del despachador con el contexto del servlet
Y podemos hacerlo escribiendo estas líneas de código
A. Cree un objeto de servlet de despachador:
XmlWebApplicationContext webApplicationContext = new XmlWebApplicationContext(); // Create a dispatcher servlet object DispatcherServlet dispatcherServlet = new DispatcherServlet(webApplicationContext);
B. Registre el servlet del despachador con el contexto del servlet:
ServletRegistration.Dynamic myCustomDispatcherServlet = servletContext.addServlet("myDispatcherServlet", dispatcherServlet);
Vaya a src/main/resources y cree un archivo XML. Nombre el archivo como application-config y pegue el siguiente código dentro de este archivo.
Archivo: application-config.xml
XML
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.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"> </beans>
Y debajo está el código completo para el archivo CalculatorApplicationInitializer.java . Este es el reemplazo de nuestro archivo web.xml . Se agregan comentarios dentro del código para comprender el código con más detalle.
Archivo: CalculatorApplicationInitializer.java
Java
// Java Program to Illustrate // CalculatorApplicationInitializer Class package com.geeksforgeeks.calculator.config; // Importing required classes import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRegistration; import org.springframework.web.WebApplicationInitializer; import org.springframework.web.context.support.XmlWebApplicationContext; import org.springframework.web.servlet.DispatcherServlet; // Class public class CalculatorApplicationInitializer implements WebApplicationInitializer { public void onStartup(ServletContext servletContext) throws ServletException { XmlWebApplicationContext webApplicationContext = new XmlWebApplicationContext(); webApplicationContext.setConfigLocation( "classpath:application-config.xml"); // Creating a dispatcher servlet object DispatcherServlet dispatcherServlet = new DispatcherServlet(webApplicationContext); // Registering Dispatcher Servlet with Servlet // Context ServletRegistration .Dynamic myCustomDispatcherServlet = servletContext.addServlet( "myDispatcherServlet", dispatcherServlet); // Setting load on startup myCustomDispatcherServlet.setLoadOnStartup(1); // Adding mapping url myCustomDispatcherServlet.addMapping("/gfg.com/*"); } }
Paso 4: Crear controlador y probar la aplicación
Vaya a la carpeta src/main/java y dentro de esta carpeta cree una clase llamada GfgController y colóquela dentro del paquete com.geeksforgeeks.calculator.controllers . A continuación se muestra el código para el archivo GfgController.java .
Código: archivo GfgController.java
Java
// Java Program to Illustrate GfgController Class package com.geeksforgeeks.calculator.controllers; // Importing required classes import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; // Class @Controller public class GfgController { @RequestMapping("/welcome") @ResponseBody // Method public String helloGfg() { return "Welcome to GeeksforGeeks!"; } }
Antes de ejecutar la aplicación, agregue las siguientes líneas al archivo application-config.xml .
<context:component-scan base-package="com.geeksforgeeks.calculator.controllers"></context:component-scan>
Archivo: aplicación-config.xml actualizado
XML
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.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"> <context:component-scan base-package="com.geeksforgeeks.calculator.controllers"></context:component-scan> </beans>
Paso 5: Ejecute la aplicación
Ahora ejecute su aplicación Spring MVC y presione la siguiente URL
http://localhost:8080/spring-calculator/gfg.com/welcome
y podemos ver la salida como se muestra en la imagen de abajo.
Publicación traducida automáticamente
Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA