Diferencia entre revisiones de «Controller con Spring usando anotaciones»
Línea 53: | Línea 53: | ||
</web-app> | </web-app> | ||
− | </code | + | </code> |
=== Configuración del nombreController-servlet.xml === | === Configuración del nombreController-servlet.xml === | ||
Línea 92: | Línea 92: | ||
p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/> | p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/> | ||
</beans> | </beans> | ||
− | </code | + | </code> |
Revisión del 12:50 30 dic 2009
Spring 2.5 y Spring 3 nos permiten la creación de Controllers mediante anotaciones. Mostraremos un sencillo ejemplo utilizando Spring 3.
Contenido
Ejemplo
Creación del controller
package com.dosideas.web.controller;
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;
@Controller public class PruebaController {
@RequestMapping(value="/unMetodo.htm") public String iniciarAplicacion() { System.out.println("www.dosideas.com"); return "index"; }
}
Lo que hacemos en la creación del controller es agregar la anotación @Controller, que indica que dicha clase es un controller. Además, antes del método agregamos la anotación @RequestMapping con un valor. Dicho valor tendrá que ver con el url al que tendremos que dirigirnos para ejecutar el método del controller. Por último en en controller, estamos retornando un String (en este caso "index"). Ese String corresponde al nombre del .jsp (que se encuentra en WEB-INF/jsp) al que queremos que se redirija la página una vez que se ejecute el método.
Configuración del web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet> <servlet-name>pruebaController</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
<servlet-mapping> <servlet-name>pruebaController</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping>
<session-config> <session-timeout>30</session-timeout> </session-config>
</web-app>
Configuración del nombreController-servlet.xml
En nuestro caso llamado pruebaController-servlet.xml :)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:component-scan base-package="com.dosideas.web.controller"/>
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/> </beans>