Bienvenido a re-orientation! Esperamos que encuentres lo que buscas

El mvc-core-config.xml. Configurando la navegación Spring MVC


Parte del manual paso a paso para desarrollar una aplicación web con Spring Framework + Spring Security contra una base de datos MySQL.

Una vez configurados el security-context.xml, business-config.xml y datasource-config.xml; sólo nos queda por configurar el fichero donde declararemos la navegación a través de nuestra aplicación con Spring MVC Framework (mvc-core-config.xml).

En Spring MVC, las clases anotadas como Controladores (controllers), suplen a los servlets tradicionales. Su función es básicamente la misma (llevar el flujo de navegación) solo que la complejidad se reduce gracias a las facilidades que nos brinda el framework, como veremos posteriormente.

Como ya hicimos en la capa de negocios, los controladores no los vamos a declarar directamente, sino que a través de las anotaciones le diremos a Spring donde encontrarlos bajo el estereotipo: @Controller.

<context:component-scan base-package="com.reor.app01.web" /> 
<!-- - POJOs labeled with the @Controller and @Service annotations are auto-detected. -->

En Spring MVC vamos a usar InternalResourceViewResolver para resolver los recursos internos (las páginas jsp) en base a un patrón de URL predefinido. Es una buena práctica usar “internal resource view” para resolver nuestros recursos web, ya que al poner nuestras páginas JSP dentro de la carpeta WEB-INF, estas no pueden ser accedidas directamente o de manera manual. Serán recursos internos, sólo accesibles por los los controladores de Spring.

  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prefix" value="/WEB-INF/jsp/" />
	<property name="suffix" value=".jsp" />
  </bean>

Con las líneas anteriores, Spring resolverá las vistas de la siguiente manera:

prefijo + nombre de vista + sufijo = /WEB-INF/jsp/URLPage.jsp

Finalmente, nuestro mvc-core-config.xml queda así:

?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:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        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">

	<mvc:annotation-driven />
	<context:component-scan base-package="com.reor.app01.web" /> 
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	</bean>
	<bean
		class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
		<property name="defaultErrorView" value="exception" />
		<property name="warnLogCategory" value="warn" />
	</bean>
</beans>	

Hemos acabado con los ficheros de configuración de los frameworks de Spring. Nos queda implementar las clases personalizadas que hemos indicado en éstos.

Terminos Tecnología: