Ejemplo básico con Spring MVC (XML-less)
Spring puede configurarse a través de archivos XML y/o con código Java. — El siguiente aporte es un ejemplo básico de uso de Spring MVC sin utilizar la configuración basada en XML (también el
es omitido) y como tema del ejemplo se trata de un ABC de Snippets.
Para poder trabajar sin el descriptor de despliegue (el archivo web.xml), se requiere que el servidor de aplicaciones implemente la especificación de Servlet 3.0+ (p.ej.: Tomcat 7/8, Glassfish 3/4, JBoss AS 7).
Algunos clases de este proyecto utilizan características de Java 8, que pueden modificarse fácilmente para soportar Java 6/7. Para el manejo de las dependencias se utilizó Maven 3.x
Estructura
Código Fuente
Se ha incluido el código fuente para ser descargado al final de este post.
Nótese que se utiliza Java EE 7 y Java 8, pero funciona sin problemas si se modifica para utilizar Java EE 6 y Java 6/7 (eso incluye cambiar el código propio de Java 8). Dependiendo del servidor de aplicaciones, las dependencias para SLF4J y JSTL pueden omitirse.
A continuación, la clase dominio que representa un "fragmento de código".
La siguiente clase es una interfaz con métodos relacionados con la clase de dominio
. La implementación de cada uno de estos métodos puede contener reglas de negocio.
Una implementación más realista de la interfaz anterior debería involucrar una base de datos. Sin embargo, para propósitos de prueba se utilizará una instancia estática de
como almacen de datos.
En XML, la clase anterior representaría un archivo de configuración de Spring individual (
) y cada método anotado con
un
.
Si la URI de un petición GET es "/" o "/welcome", se mostrará un HTML con la página de inicio.
El "welcome" regresado por el método pasará por
(configuración más abajo) para devolver el JSP "WEB-INF/jsp/welcome.jsp".
Dependiendo de la URI de la petición y del método HTTP (
o
), se ejecutará alguno de los siguientes métodos.
Las cadenas que regresan los métodos: "all" es un forward a la lista de todos los fragmentos de código. "redirect:all" es un redirect a la misma lista. "see" muestra los datos del fragmento de código seleccionado. "edit" muestra el formulario de edición del fragmento de código seleccionado. — "all", "see" y "edit" tienen un JSP respectivo en la carpeta "WEB-INF/jsp/"
En XML, la clase anterior correspondería a un archivo con nombre
. La anotación
indica el paquete en el que se encuentran los controladores (@Controller).
se utiliza para resolver "vista de recursos internos". Cada
indica dónde encontrar recursos estáticos (css, js, imágenes, etc.).
Conclusión
La clase
implementa la interfaz
, que el servidor de aplicaciones carga al iniciar la aplicación y permite agregar el servlet
en tiempo de ejecución desde código Java.
La clase
permite una configuración basada en Java más detallada del servlet de Spring MVC (
).
~~~
- jpaul's blog
- Inicie sesión o regístrese para enviar comentarios
En netbeans 8.0.1 marca error
me marca que este paquete: import java.util.stream.Collectors no existe en SnippetServiceImpl.java
uso netbeans casi recien instalado sin ningun plugin agregado, windows 7 64, el servidor es tomcat 7, 8gb ram, ssd primario de 120 gb y disco de de trabajo de sata de 500gb, amd A6-3670,
mi trabajo principal lo hago con jsp y servlets directos y quiero hacer pruebas con spring.
Re: Error
La clase
(1) fue agregada en Java 8, de manera que necesitas el JDK respectivo. Una vez que lo hayas instalado, cambia la ruta del JDK (
) en el archivo
.
También puedes hacer el downgrade de Java 8 a Java 7/6.
Notas
~~~
help
Homi!! instale eclipse con sus plugin spring nmmm
Como podras ver soy nuevo en este jale y kiero aprender a usar Spring
y estoy tratando de hacer la prueba del hola mundo pero me marca un error en el
pom.xml
exactamente en esta linea
war
que me falta
Re: hola mundo con Spring
Algunos ejemplos:
P.D. Google es tu mejor amigo. También YouTube. Por cierto, si quieres publicar código, prueba poniéndolo entre las etiquetas <code> y </code>.
~~~