Introducción a SpringMVC: Desarrollo de una aplicación HelloWorld
Esta guía técnica muestra los pasos esenciales para crear una aplicación básica con SpringMVC, enfocándose en la configuración y el desarrollo de un controlador simple.
Inclusión de dependencias de SpringMVC
Para iniciar, es necesario incorporar las bibliotecas de SpringMVC en el proyecto. Esto puede lograrse mediante herramientas de construcción como Maven o Gradle, o al añadir los archivos JAR correspondientes al classpath.
Configuración del descriptor de despliegue web.xml
Se define el servlet de Spring en el archivo web.xml para manejar las solicitudes entrantes:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>controladorPrincipal</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>controladorPrincipal</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
Creación del archivo de configuración de Spring
Se agrega un archivo de configuración de Spring, como controladorPrincipal-servlet.xml, en el directorio de fuantes para escanear componentes y configurar la vista:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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">
<context:component-scan base-package="com.ejemplo.app" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/recursos/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
Preparación de la vista JSP
Se establece un directorio "recursos" dentro de WEB-INF y se crea un archivo bienvenida.jsp con contenido dinámico:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Página de Bienvenida</title>
</head>
<body>
<h1>¡Hola Mundo desde SpringMVC!</h1>
</body>
</html>
Desarrollo del controlador
Se define una clase controlador en el paquete especificado, con métodos para gestionar solicitudes HTTP:
package com.ejemplo.app;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/bienvenida")
public class BienvenidaControlador {
@GetMapping("/inicio")
public String cargarPagina(ModelMap atributos) {
atributos.addAttribute("mensaje", "Este es un ejemplo básico");
return "bienvenida";
}
}
Ejecución y verificación
Al despleegar la aplicación en un servidor como Tomcat y acceder a la URL http://localhost:8080/proyecto/bienvenida/inicio, se mostrará la página JSP confiugrada con el mensaje de bienvenida.