<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://dosideas.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=189.216.24.20</id>
		<title>Dos Ideas. - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://dosideas.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=189.216.24.20"/>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/Especial:Contribuciones/189.216.24.20"/>
		<updated>2026-09-11T07:51:01Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Controller_con_Spring_usando_anotaciones&amp;diff=5452</id>
		<title>Controller con Spring usando anotaciones</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Controller_con_Spring_usando_anotaciones&amp;diff=5452"/>
				<updated>2010-08-10T06:43:15Z</updated>
		
		<summary type="html">&lt;p&gt;189.216.24.20: /* Creación del controller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Spring Framework]] nos permiten la creación de Controllers mediante anotaciones. Mostraremos un sencillo ejemplo utilizando [[Spring Framework]] 3.0&lt;br /&gt;
&lt;br /&gt;
== Ejemplo ==&lt;br /&gt;
&lt;br /&gt;
=== Creación del controller ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
package com.dosideas.web.controller;&lt;br /&gt;
&lt;br /&gt;
import org.springframework.stereotype.Controller;&lt;br /&gt;
import org.springframework.web.bind.annotation.RequestMapping;&lt;br /&gt;
&lt;br /&gt;
@Controller&lt;br /&gt;
public class PruebaController {&lt;br /&gt;
&lt;br /&gt;
    @RequestMapping(value=&amp;quot;/unMetodo.htm&amp;quot;)&lt;br /&gt;
    public String imprimirHolaMundo() {&lt;br /&gt;
        System.out.println(&amp;quot;Hola Mundo&amp;quot;);&lt;br /&gt;
        return &amp;quot;index&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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 el controller, estamos retornando un String (en este caso &amp;quot;index&amp;quot;). 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.&lt;br /&gt;
&lt;br /&gt;
=== Configuración del web.xml ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;web-app version=&amp;quot;2.5&amp;quot;&lt;br /&gt;
xmlns=&amp;quot;http://java.sun.com/xml/ns/javaee&amp;quot;&lt;br /&gt;
xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
xsi:schemaLocation=&amp;quot;http://java.sun.com/xml/ns/javaee &lt;br /&gt;
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;!-- Declaración del servlet --&amp;gt;&lt;br /&gt;
    &amp;lt;servlet&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;pruebaController&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-class&amp;gt;org.springframework.web.servlet.DispatcherServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
        &amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;!-- Mapping del servlet anterior--&amp;gt;&lt;br /&gt;
    &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;pruebaController&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Interceptaremos todo lo que es .htm --&amp;gt;&lt;br /&gt;
        &amp;lt;url-pattern&amp;gt;*.htm&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;!--Tiempo en minutos que dura una session --&amp;gt;&lt;br /&gt;
    &amp;lt;session-config&amp;gt;&lt;br /&gt;
        &amp;lt;session-timeout&amp;gt;30&amp;lt;/session-timeout&amp;gt;&lt;br /&gt;
    &amp;lt;/session-config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/web-app&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuración del &amp;lt;servlet-name&amp;gt;-servlet.xml ===&lt;br /&gt;
&lt;br /&gt;
El nombre de este archivo debe ser el mismo que se configuró en el web.xml en el tag &amp;lt;servlet-name&amp;gt;. Como nosotros le pusimos pruebaController, quedará pruebaController-servlet.xml :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;beans xmlns=&amp;quot;http://www.springframework.org/schema/beans&amp;quot;&lt;br /&gt;
xmlns:p=&amp;quot;http://www.springframework.org/schema/p&amp;quot;&lt;br /&gt;
xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
xmlns:context=&amp;quot;http://www.springframework.org/schema/context&amp;quot;&lt;br /&gt;
xsi:schemaLocation=&amp;quot;http://www.springframework.org/schema/beans &lt;br /&gt;
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&lt;br /&gt;
http://www.springframework.org/schema/context &lt;br /&gt;
http://www.springframework.org/schema/context/spring-context-2.5.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
La siguiente declaración se encargará de levantar las clases que posean las &lt;br /&gt;
anotaciones (@Controller, @RequestMapping, @Repository, etc) en el paquete que &lt;br /&gt;
se le indique. Notese que en este caso le indico el paquete de la clase controller &lt;br /&gt;
que quiero ejemplificar.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
    &amp;lt;context:component-scan base-package=&amp;quot;com.dosideas.web.controller&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Declaramos un HandlerMapping para que entre al método del controller --&amp;gt;&lt;br /&gt;
  &amp;lt;bean&lt;br /&gt;
 class=&amp;quot;org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Declaramos un HandlerAdapter para que se redirija al .jsp que configuramos --&amp;gt;&lt;br /&gt;
    &amp;lt;bean&lt;br /&gt;
 class=&amp;quot;org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
En la siguiente declaración configuramos el prefijo y el &lt;br /&gt;
sufijo del archivo .jsp (en este caso) al cual se va a &lt;br /&gt;
redireccionar una vez que se ejecute el método del Controller.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
    &amp;lt;bean class=&amp;quot;org.springframework.web.servlet.view.InternalResourceViewResolver&amp;quot;&lt;br /&gt;
p:prefix=&amp;quot;/WEB-INF/jsp/&amp;quot; p:suffix=&amp;quot;.jsp&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/beans&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probamos lo realizado ===&lt;br /&gt;
&lt;br /&gt;
Si todo quedó como mostramos y tenemos el archivo index.jsp en la carpeta WEB-INF/jsp, deployamos el .war y deberíamos poder pegarle al controller, que ejecute el método y que redirija a index.jsp utilizando la siguiente url:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://&amp;lt;ip&amp;gt;:&amp;lt;puerto&amp;gt;/&amp;lt;nombreApp&amp;gt;/&amp;lt;valor setteado en el @RequestMapping del método&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por ejemplo:&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://111.111.111.111:8001/servletSpringConAnotaciones/unMetodo.htm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [http://static.springsource.org/spring/docs/2.5.6/reference/mvc.html#mvc-annotation Documentación oficial de Spring para Controller con Anotaciones]&lt;br /&gt;
&lt;br /&gt;
[[Category:Spring Framework]]&lt;/div&gt;</summary>
		<author><name>189.216.24.20</name></author>	</entry>

	</feed>