¿Cómo crear tu primera vista 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 admite varias tecnologías como marcador libre, velocidad y hoja de tomillo.
  • 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 hemos discutido la parte del controlador de cómo crear y ejecutar su primer controlador Spring MVC . Aquí crearemos nuestra primera vista en Spring MVC usando Spring Tool Suite IDE. 

Nota: Las vistas no son nada, son solo páginas web. 

Implementación:

Previo a ello, 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

A continuación se ilustra paso a paso de la siguiente manera:

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? 

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

Consulte este artículo ¿Qué es Dispatcher Servlet en Spring? y lea más sobre Dispatcher Servlet, que es un concepto muy importante de entender. 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.w3.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.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>

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 como esto.

// 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 la primera 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 bgcolor="green">
    <h1>Hello GeeksforGeeks!</h1>
</body>
</html>

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

return "/WEB-INF/views/demo.jsp";

Se nos acaba de dar el camino para nuestra vista. Entonces, el código completo para DemoController.java se proporciona a continuación.

Archivo: DemoController.java 

Java

package com.demo.controllers;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
 
@Controller
public class DemoController {
 
    @RequestMapping("/hello")
    public String helloWorld() {
        return "/WEB-INF/views/demo.jsp";
    }
 
}

Paso 7: agregue la siguiente línea dentro del archivo viewresolver-dispatcher- servlet.xml

<context:component-scan base-package="com.demo.controllers"></context:component-scan>

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.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.student.controllers"></context:component-scan>
 
</beans>

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 *