Para comenzar como requisito deben tener instalado el servidor J2EE para este caso el weblogic 10.3.6 mas el Netbeans 7.4 j2ee que tiene incluidas las librerias de Spring MVC.
Primer se crea un proyecto web
Seleccionamos el servidor y la raiz del contexto
En esta pestañan seleccionan el framework Spring MVC la version sera la 3.2.3 y tambien incluimos JSTL
En la configuracion se da el nombre del descriptor XML que contiene los despachadores y le damos la extencion que van a tener las paginas en las URL, aunque sean paginas JSP se mostrara en la URL el *.htm
una vez creado el proyecto
Luego creamos un package para el controlador:
y agregamos la clase controlador.
package cl.allware.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
*
* @author luxo
*/
@Controller
@RequestMapping("/welcome")
public class HelloController {
@RequestMapping(method = RequestMethod.GET)
public String printWelcome(ModelMap model) {
model.addAttribute("message", "Spring 3 MVC Hello World");
return "hello";
}
}
Ahora para poder resolver el controlador necesitamos agregar unas lineas en el despachador XML:
Y por ultimo el descriptor WEB.XML
contextConfigLocation
/WEB-INF/applicationContext.xml
org.springframework.web.context.ContextLoaderListener
dispatcher
org.springframework.web.servlet.DispatcherServlet
2
dispatcher
*.htm
30
redirect.jsp
En la capa vista crear una pagina :
<%--
Document : hello
Created on : 03-02-2014, 10:45:49 AM
Author : luxo
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
JSP Page
Message : ${message}
ahora al hacer deploy en el servidor deberia aparecer el siguiente mensaje:
03-02-2014 12:21:48 PM org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization started
03-02-2014 12:21:48 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing Root WebApplicationContext: startup date [Mon Feb 03 12:21:48 CLST 2014]; root of context hierarchy
03-02-2014 12:21:48 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml]
03-02-2014 12:21:48 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@885065: defining beans [helloBean]; root of factory hierarchy
03-02-2014 12:21:48 PM org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization completed in 343 ms
03-02-2014 12:21:48 PM org.springframework.web.servlet.FrameworkServlet initServletBean
INFO: FrameworkServlet 'dispatcher': initialization started
03-02-2014 12:21:48 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing WebApplicationContext for namespace 'dispatcher-servlet': startup date [Mon Feb 03 12:21:48 CLST 2014]; parent: Root WebApplicationContext
03-02-2014 12:21:48 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
03-02-2014 12:21:49 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@36b863: defining beans [org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping#0,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,mvcContentNegotiationManager,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0,org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0,org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver#0,org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,helloController,viewResolver,indexController,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@885065
03-02-2014 12:21:49 PM org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [/hello] onto handler 'helloController'
03-02-2014 12:21:49 PM org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [/hello/*] onto handler 'helloController'
03-02-2014 12:21:49 PM org.springframework.web.servlet.handler.AbstractHandlerMethodMapping registerHandlerMethod
INFO: Mapped "{[/welcome],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String cl.allware.controller.HelloController.printWelcome(org.springframework.ui.ModelMap)
03-02-2014 12:21:49 PM org.springframework.web.servlet.FrameworkServlet initServletBean
INFO: FrameworkServlet 'dispatcher': initialization completed in 730 ms
Y en la pagina se mostrara:
El proyecto netbeans se puede descargar en:
HelloSpring3.rar