Documente Academic
Documente Profesional
Documente Cultură
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.
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)
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>
<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.
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;
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;
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)