Sunteți pe pagina 1din 9

Spring MVC Configuración (I)

Debido a la explosión de las aplicaciones móviles cada día nos encontramos con una mayor
necesidad de utilizar frameworks web que generen paginas HTML sencillas de tal forma que
luego puedan decorarse con otras tecnologías tipo Bootstrap ,JQuery mobile o similares. A
este tipo de categoría pertenece el framework Spring MVC que cada día es mas utilizado en
las empresas. La siguiente comparativa es interesante para ver que cuota de mercado tiene
cada framework.

Comparativa frameworks web y cuota de mercado

Como podemos ver aunque JSF es el standard Spring MVC hoy por hoy es el framework web
mas utilizado.Vamos a dedicar algunos post a introducir este framework desde cero . En mi
libro tenemos un par de capítulos que explican a detalle el modelo MVC y el modelo MVC 2
o de FrontController. Recordemos que un modelo de FrontController funciona de la

siguiente manera.

Como podemos ver existe un único servlet que recibe todas las peticiones (GET,POST etc) y
según la información que recibe delega en el comando adecuado que ejecuta la petición y
devolverá unos resultados u otros .Spring MVC se apoya en este concepto.Vamos a montar
como punto de partida una aplicación con Spring MVC que realice estas operaciones tan
sencillas (Lista y Formulario). Para ello lo primero que necesitaremos es definir unas
Spring MVC Configuración (I)

dependencias a nivel de Maven (pom.xml) con las librerias de Spring necesarias.

pom.xml
</pre>
<dependencies>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-servlet_3.0_spec</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.4.RELEASE</version>
</dependency>
</dependencies>
<pre>

Realizado este paso vamos a configurar el framework Spring dentro de nuestra aplicación
web. Para ello deberemos añadir el siguiente bloque de código en nuestro web.xml.

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
Spring MVC Configuración (I)

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">

<display-name>Spring MVC</display-name>
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/application-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>

El fichero web.xml da de alta un nuevo servlet denominado DispatcherServlet que es el que


realiza las tareas de controlador frontal de la aplicación y captura todas las peticiones ya
que su url-pattern es “/”. Este controlador se apoya en el fichero clásico de Spring
Framework que se encargará de gestionar los distintos flujos de la aplicación a traves del
uso de beans.
Spring MVC Configuración (I)

Vamos a ver el código del fichero application-context.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">

<bean name="/Lista"
class="com.arquitecturajava.ListaController"/>
<bean name="/Formulario"
class="com.arquitecturajava.FormularioController"/>
</beans>
Spring MVC Configuración (I)

En nuestro caso vamos a optar por un primer ejemplo muy muy básico que usa dos beans
que gestionan las distintas urls a las que accedemos utilizando el patron MVC2.

Si echamos un vistazo al código de cada de estas dos clases veremos lo siguiente.

Código ListaController:

package com.arquitecturajava;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class ListaController implements Controller {

public ModelAndView handleRequest(HttpServletRequest request,


HttpServletResponse response) throws Exception {

return new ModelAndView("/WEB-INF/jsp/Lista.jsp");


}
Spring MVC Configuración (I)

Código FormularioControlller :

package com.arquitecturajava;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class FormularioController implements Controller {

public ModelAndView handleRequest(HttpServletRequest request,


HttpServletResponse response) throws Exception {

return new ModelAndView("/WEB-INF/jsp/Formulario.jsp");


}
}

Como podemos ver nuestras clases implementan el interface Controller y tienen un método
muy similar al método ejecutar (handleRequest) que nos redirige a una URL en concreto .
Spring MVC Configuración (I)

Una vez tenemos claro como funcionan los controladores que hemos definido es momento
de ver el contenido de los ficheros JSP a los que hacen referencia. Lista.jsp

</pre>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Lista de Personas</title>
</head>
<body>
<ul>
<li>Pedro</li>
<li>Maria</li>
</ul>
<a href="Formulario">Ir a formulario</a>
</body>
</html>
<pre>
Spring MVC Configuración (I)

Formulario.jsp

</pre>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Lista de Personas</title>
</head>
<body>
<form action="Lista">
Nombre<input type="text" name="nombre" /></br>
Apellidos<input type="text" name="apellidos" /></br>
<input type="submit" value="Aceptar"/>

</form>
</body>
</html>
<pre>

Si solicitamos la url /Lista Spring MVC nos devolverá el contenido el fichero Lista.jsp.

@Controller y Anotaciones
El ejemplo que acabamos de construir es muy elemental y no hace uso para nada del
sistema de anotaciones @Controller moderno del framework que cubriremos en el
Spring MVC Configuración (I)

siguiente Articulo. He preferido centrarme en los conceptos básicos y en la configuración


propia del framework .

S-ar putea să vă placă și