Spring MVC Framework sigue el patrón de diseño Modelo-Vista-Controlador. Se utiliza para desarrollar aplicaciones web. Funciona alrededor de DispatcherServlet. DispatcherServlet maneja todas las requests y respuestas HTTP. Envía las requests a los controladores. Utiliza @Controller y @RequestMapping como controladores de requests predeterminados. La anotación @Controller define que una clase particular es un controlador. La anotación @RequestMapping asigna requests web a los métodos de Spring Controller. Los términos modelo, vista y controlador son los siguientes:
- Modelo : el modelo encapsula los datos de la aplicación.
- Ver : Ver representa los datos del modelo y también genera una salida HTML que el navegador del cliente puede interpretar.
- Controlador : el controlador procesa las requests del usuario y las pasa a la vista para su procesamiento.
Spring MVC Framework funciona de la siguiente manera:
- Todas las requests entrantes son interceptadas por el DispatcherServlet que funciona como controlador frontal.
- DispatcherServlet luego obtiene una entrada de asignación de controlador del archivo XML y reenvía la solicitud al controlador.
- El objeto de ModelAndView es devuelto por el controlador.
- DispatcherServlet comprueba la entrada de la resolución de vista en el archivo XML e invoca el componente de vista adecuado.
Ventajas del marco Spring MVC
- El contenedor se utiliza para el desarrollo y despliegue de aplicaciones y utiliza un servlet ligero.
- Permite un desarrollo rápido y paralelo.
- El desarrollo de la aplicación se vuelve rápido.
- Fácil para que varios desarrolladores trabajen juntos.
- Más fácil de actualizar la aplicación.
- Es más fácil de depurar porque tenemos múltiples niveles en la aplicación.
Desventajas de Spring MVC Framework
- Tiene una alta complejidad para desarrollar las aplicaciones utilizando este patrón.
- No es adecuado para aplicaciones pequeñas que afectan el rendimiento y el diseño de la aplicación.
Cree su primera aplicación Spring MVC
Considere el siguiente ejemplo:
Paso 0 : configure su proyecto con maven, use el arquetipo requerido para obtener el directorio de carpetas requerido y configure el servidor con su proyecto.
Paso 1: cargue los archivos spring jar o agregue las dependencias si se usa Maven. Agregue las siguientes dependencias en pom.xml
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.javatpoint</groupId> <artifactId>SpringMVC</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>SpringMVC 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.1.1.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </dependency> </dependencies> <build> <finalName>SpringMVC</finalName> </build> </project>
Paso 2: crear la clase de controlador
HolaGeek.java
Java
@Controller public class HelloGeek { @RequestMapping("/") public String display() { return "hello"; } }
Paso 3: Proporcione el nombre del controlador en el archivo web.xml de la siguiente manera:
DispatcherServlet es el controlador frontal en Spring Web MVC. Las requests entrantes del archivo HTML se reenvían al DispatcherServlet.
web.xml
XML
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>SpringMVC</display-name> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
Paso 4: Tenemos que definir el bean en un archivo XML separado. Hemos especificado los componentes de la vista en este archivo. Se encuentra en el directorio WEB-INF.
primavera-servlet.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" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- This element defines the base-package where DispatcherServlet will search the controller class. --> <context:component-scan base-package="com.geek" /> <!--Provide support for conversion, formatting and also for validation --> <mvc:annotation-driven/> </beans>
Paso 5: use JSP para mostrar el mensaje
índice.jsp
HTML
<html> <body> <p>Spring MVC Tutorial!!</p> </body> </html>
Paso 6: Inicie el servidor y ejecute el proyecto. La salida se muestra de la siguiente manera:
Spring MVC Tutorial!!
Publicación traducida automáticamente
Artículo escrito por dudhanevrushali28 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA