You are on page 1of 17

Nombre del profesor: Ing. Jos Domnguez.

Materia: Tpicos De Desarrollo de Software.



Trabajo: Proyecto Hecho en Netbeans con Spring MVC.

Semestre y grupo: 8 A

4 Unidad
Marzo de 2014


Misin:
Proveer tecnologa y software que permita maximizar su productividad y recursos, y que en contraprestacin
genere bienestar y rentabilidad a nuestros colaboradores, socios de negocios, accionistas y comunidad.
Visin:
Ser una de las 10 principales empresas de tecnologa y desarrollo de software en Mxico y Latinoamrica
especializada en el sector turstico.
Valores:
Vivimos una cultura de innovacin y calidad en todo lo que hacemos, buscando satisfacer y potenciar el
software mediante el aprovechamiento de las tecnologas y la automatizacin de procesos y el conocimiento.
Los valores que compartimos son:

Creatividad
Responsabilidad
Honestidad
Trabajo en Equipo
Liderazgo
tica


Introduccin a Spring Web MVC

Este documento muestra cmo construir una web sencilla aplicacin MVC con el Spring Framework. La
aplicacin permite que el usuario introduzca su nombre en un campo de texto, y al hacer clic en Aceptar, el
nombre se devuelve y se muestra en una segunda pgina con un saludo de bienvenida.

El Spring Framework es un marco de populares aplicaciones de cdigo abierto que pueden hacer de
desarrollo Java EE fcil. Se compone de un contenedor, un marco para la gestin de componentes, y un
conjunto de complemento de los servicios para las interfaces de usuario de la web, las transacciones, y la
persistencia. Una parte de la Spring Framework es Spring Web MVC, un framework MVC extensible para
crear aplicaciones web.

El IDE proporciona soporte integrado para la primavera de Framework 3.0 y 2.5. Bibliotecas marco se
incluyen con el IDE y se agregan automticamente al proyecto de ruta de clases cuando el marco est
seleccionado. Las opciones de configuracin se proporcionan, tales como nombrar y cartografa de la
Primavera Web MVC DispatcherServlet. La biblioteca JSTL opcionalmente se puede registrar en la creacin
del proyecto. Apoyo para la primavera de archivos de configuracin XML de frijol tambin se proporciona,
incluyendo las siguientes funciones:

Cdigo de terminacin. Se invoca en los archivos de configuracin XML de primavera para las
clases de Java, as como las referencias de frijol.
Navegacin. Hipervnculos de las clases Java y propiedades mencionadas en las definiciones de
frijol de primavera, as como hipervnculos a otras referencias de primavera de frijol.
Refactoring. Cambiar el nombre de referencias a las clases de Java en los archivos de la primavera
de configuracin XML.
Contenido

El contenido de esta pgina es aplicable a NetBeans IDE 6.9.

La creacin de un nuevo proyecto con Spring Web MVC Apoyo
o Creacin de un proyecto Web de primavera Esqueleto MVC
o Ejecucin del Proyecto Esqueleto
Descripcin de la solicitud
La implementacin de un servicio
Implementar el controlador y el modelo
Implementacin de los dictmenes

Para completar este tutorial, usted necesita el siguiente software y recursos.
Versin de software o de recursos necesarios:

- NetBeans IDE
- Java Development Kit (JDK) version 6.
- Glassfish v3 o servidor Open Source Edition 3.0.1.


Crear un proyecto Web de la primavera del esqueleto de MVC

Comience por crear un nuevo proyecto para una aplicacin web utilizando el Marco de la primavera.

1. Elija Nuevo proyecto (Ctrl + Maysculas + N) en el men Archivo del IDE. Seleccione la categora Java
Web, a continuacin, en seleccionar proyectos de aplicaciones Web. Haga clic en Siguiente.
2. En Nombre del proyecto, el tipo de HelloSpring. Haga clic en Siguiente.
3. En el Paso 3: Configuracin del servidor y, anule la seleccin de los contextos y la opcin Habilitar la
inyeccin de dependencias, ya que no estn trabajando con la especificacin JSR-299 en este tutorial.
Adems, asegrese de que el servidor GlassFish se selecciona en la lista desplegable Servidor, y tenga en
cuenta que la plataforma Java EE 6 Web es la versin de EE predeterminada para este servidor. Haga clic
en Siguiente.
4. En el paso 4, el panel Marcos, seleccione Spring Web MVC.



Cuando se selecciona Spring Web MVC, tenga en cuenta que la JSTL (JavaServer Pages Standard Tag
Library) la coleccin se aade a la ruta de clases durante la creacin del proyecto de forma
predeterminada.

Deseleccionar esta opcin (como en la pantalla de arriba), ya que no requieren JSTL para este tutorial.
Adems, tenga en cuenta que el IDE le permite agregar la coleccin de primavera de 2,5 a su proyecto, si
esta es su preferencia.

5. Haga clic en la ficha Configuracin y observe que el asistente le permite especificar el nombre y el
mapeo del servlet primavera Dispatcher.





6. Haga clic en Finalizar. El IDE crea un proyecto para toda la aplicacin, incluyendo todos los metadatos,
as como la hormiga del proyecto de secuencia de comandos que
se puede inspeccionar desde la ventana de archivos (Ctrl-2; -2 en Mac). Usted puede
ver la estructura de la plantilla de la ventana de proyectos (Ctrl-1; -1 en Mac). Tambin tenga en cuenta
que cuatro de los archivos abiertos por defecto en el editor del IDE: despachador servlet.xml, redirect.jsp
applicationContext.xml, y index.jsp.

7. En la ventana Proyectos, expanda el nodo del proyecto de Bibliotecas y observe que el JAR de primavera
se incluyen en la ruta de clase del proyecto.






La ejecucin del Proyecto Esqueleto

Antes de hacer cualquier cambio a los archivos de proyecto, intente ejecutar el nuevo proyecto en el IDE:

1. Haga clic en el proyecto de ejecucin (botn Ejecutar proyecto) en la barra de herramientas principal del
IDE. El IDE se inicia automticamente el servidor GlassFish, si no se est ejecutando, se compila el
proyecto, entonces se despliega en el servidor. Tenga en cuenta cualquier salida que aparecen en la
ventana de salida del IDE (Ctrl-4; -4 en Mac). La salida generada se completa con un mensaje CONSTRUIR
CON XITO.









El navegador del IDE por defecto se pone en marcha, y ver el contenido de la vista de pgina de inicio (/
WEB-INF/jsp/index.jsp).





Cuando se ejecuta el proyecto en el IDE, el proyecto se compila y se implementa en el servidor y, a
continuacin se abre en el navegador por defecto. Adems, el IDE proporciona una funcin de
implementar en Guardar, que se activa de forma predeterminada para proyectos web. Al guardar archivos
en el editor, el proyecto se vuelve a compilar automticamente y se implementa en el servidor. Para ver los
cambios, simplemente tendr que cargar las pginas en el navegador.






Para entender lo que acaba de tener lugar, empezar por el examen del proyecto descriptor de despliegue
(web.xml). Para abrir este archivo en el Editor de cdigo fuente, haga clic en el nodo WEB-INF> web.xml en
la ventana de proyectos y elija Editar. El punto de entrada por defecto para la aplicacin es redirect.jsp:



Dentro de redirect.jsp, hay una redireccin declaracin que seala todas las peticiones en index.htm:



En el descriptor de despliegue, tenga en cuenta que todas las solicitudes de los patrones de URL que
coincidan con *. htm se asignan a DispatcherServlet Spring.



El nombre completo del servlet, despachador, como se muestra arriba, es
org.springframework.web.servlet.DispatcherServlet. Esta clase est contenida en la coleccin de
primavera, que se agrega al proyecto de ruta de clases cuando el proyecto se ha creado. Usted puede
verificar esto en la ventana de proyectos mediante la profundizacin del nodo Bibliotecas. Busque la
primavera-webmvc-3.0.0.RELEASE.jar, a continuacin, extenderlo a encontrar
org.springframework.web.servlet> DispatcherServlet.

El DispatcherServlet controla las solicitudes entrantes en funcin de parmetros de configuracin se
encuentran en el distribuidor-servlet.xml. Despachador servlet.xml haciendo clic en su ficha en el editor en
Abrir. Tenga en cuenta el siguiente cdigo.




Tres granos se definen en este archivo: IndexController, viewResolver y UrlMapping. Cuando el
DispatcherServlet recibe una solicitud que coincide con *. htm como index.htm, busca un controlador en
UrlMapping que puede atender la peticin. Por encima, se ve que hay una propiedad que las asignaciones
de enlaces / index.htm para IndexController.

El entorno de ejecucin a continuacin, busca la definicin de un bean llamado IndexController, que est
convenientemente proporcionada por el proyecto esqueleto. Tenga en cuenta que se extiende
IndexController ParameterizableViewController. Esta es otra clase proporcionada por la primavera, que
simplemente devuelve un punto de vista. Por encima, tenga en cuenta que p: ViewName = "ndice"
especifica el nombre de vista lgico, que se resuelve mediante el viewResolver anteponiendo / WEB-
INF/jsp / jsp y anexar a la misma.. Esto permite que el tiempo de ejecucin para localizar el archivo en el
directorio de la aplicacin, y responder con la vista de pgina de inicio (/ WEB-INF/jsp/index.jsp).


Resumen de la Solicitud

La aplicacin creada consta de dos pginas JSP (que se puede denominar como puntos de vista en MVC
terminologa). La primera vista contiene un formulario HTML con un campo de entrada pidiendo el nombre
del usuario. El segundo punto de vista es una pgina que simplemente muestra un mensaje de saludo que
contiene el nombre del usuario.

Las vistas son administradas por un controlador, que recibe las peticiones de la demanda y decide qu
puntos de vista para volver. Tambin pasa a los puntos de vista toda la informacin que necesitan para
mostrar (esto se llama un modelo). Este controlador de aplicacin se denomina HelloController.

En una aplicacin compleja red, la lgica de negocio no se encuentra directamente en el controlador. En
cambio, otra entidad, llamada un servicio, es utilizado por el controlador cada vez que necesita realizar
alguna lgica de negocio. En nuestra aplicacin, la lgica de negocio se limita al acto de procesar el
mensaje de saludo, y para ello se crea un HelloService.


La implementacin de un servicio

Ahora que usted est seguro de su entorno est configurado correctamente, puede empezar a ampliar el
proyecto esqueleto de acuerdo a sus necesidades. Comience por crear la clase HelloService.

1. Haga clic en el archivo nuevo (botn Nuevo archivo), situado en la barra de herramientas del IDE.
(Tambin puede pulsar Ctrl-N; -N en Mac)
2. Seleccione la categora de Java, a continuacin, seleccione la clase de Java y haga clic en Siguiente.
3. En el asistente Nueva Clase de Java que aparece, escriba HelloService para Nombre de clase, y entrar
en servicio para el Nombre del paquete para crear un nuevo paquete para la clase.
4. Haga clic en Finalizar. El IDE crea la nueva categora y lo abre en el editor.

La clase HelloService realiza un servicio muy sencillo. Se necesita un nombre como un parmetro, y
prepara y devuelve una cadena que incluye el nombre. En el editor, cree la siguiente sayHello () para la
clase (los cambios en negrita).













Implementar el controlador y el modelo

Puede utilizar un SimpleFormController para manejar los datos del usuario y determinar que el fin de
regresar.

1. Abra el asistente de Nuevo archivo pulsando Ctrl-N (N- en Mac). En Categoras seleccione Spring
Framework, bajo Tipos de archivo seleccione Sencillo controlador.





NetBeans IDE proporciona plantillas para la primavera de diversos artefactos, incluyendo la primavera XML
del archivo de configuracin, AbstractController, y la SimpleFormController.

2. Haga clic en Siguiente.
3. Nombre de la clase HelloController y crear un nuevo paquete para l escribiendo controlador en el
campo de texto del paquete. Haga clic en Finalizar. El IDE crea la nueva clase y lo abre en el editor.
4. Especifique las propiedades del controlador, quitando los comentarios de los
mtodos setter que muestran de forma predeterminada en la plantilla de clase. Para
des comentar el fragmento de cdigo, seleccione el cdigo como en la imagen de abajo, a continuacin,
pulse Ctrl + / ( - / en Mac).



Si se presiona Ctrl-/ ( - / en Mac) alterna comentarios en el editor.

5. Realice los cambios de la siguiente manera (en negrita).




Ajuste de la FormView permite establecer el nombre de la vista que se utiliza para mostrar el formulario.
Esta es la pgina que contiene el campo de texto permite a los usuarios entrar en su nombre. Ajuste de la
SuccessView tambin le permite establecer el nombre de la opinin de que debera mostrar en un xito de
presentar. Al establecer la propiedad CommandName se define el nombre del comando en el modelo. En
este caso, el comando es el objeto de formulario con los parmetros de la peticin vinculada a ella. Ajuste
de la CommandClass le permite establecer el nombre de la clase de comandos. Una instancia de esta clase
se pobladas y validado en cada solicitud.

Tenga en cuenta que un error se marca para el nombre en el setCommandClass () mtodo:




Ahora necesitamos crear la clase Nombre como un grano simple para almacenar la informacin para cada
solicitud.

6. En la ventana Proyectos, haga clic en el nodo del proyecto y elija New> Java Class. La Nueva Clase de
Java muestra el asistente.
7. Ingrese el nombre para el nombre de clase, y por paquete de controlador, seleccione de la lista
desplegable.
8. Haga clic en Finalizar. Nombre de la clase se crea y se abre en el editor.
9. En la clase de nombre, crear un campo denominado valor, a continuacin, crear mtodos de acceso (es
decir, mtodos getter y setter) para este campo. Para empezar, se declara el campo de valor:




Para salir rpidamente de tipo "privado" puede "pr" tipo a continuacin, presione Tab. El "privado"
modificador de acceso se agrega automticamente a la lnea. Este es un ejemplo del uso de cdigo del
editor de plantillas. Para obtener una lista completa de plantillas de cdigo, seleccione Ayuda> Funciones
rpidas de teclado de tarjetas.

El IDE puede crear mtodos de acceso para usted. En el editor, haga clic en el valor y elija Insertar Cdigo
(o presione Alt Insertar, Ctrl-I en Mac). En el men emergente, elegir getter y setter.











10. En el cuadro de dilogo que aparece, seleccione el valor: la opcin de cadena, a continuacin, haga clic
en Aceptar. El getValue () y setValue () se agreg a la clase Nombre:


Presione Ctrl-Tab y elija HelloController para volver a la clase HelloController. Tenga en cuenta que la
tarjeta de identificacin de error anterior ha desaparecido ya que la clase Nombre ahora existe. Elimine el
doSubmitAction () y elimine la onSubmit () mtodo. El onSubmit () mtodo le permite crear su propia
ModelAndView, que es lo que se necesita aqu. Realice los cambios siguientes:


Como se indic anteriormente, el comando se redefine como un objeto Nombre. Una instancia de
ModelAndView se crea, y el punto de vista el xito se obtiene mediante un captador en
SimpleFormController. Por ltimo, el modelo se rellena con datos. El nico punto en nuestro modelo es el
mensaje hola obtenidos a partir de la HelloService creado anteriormente. Se utiliza el addObject () para
aadir el mensaje de saludo a la modelo en el marco del helloMessage nombre.



12. Corregir los errores de importacin haciendo clic derecho en el editor y la eleccin de las importaciones
Fix (Ctrl + Maysculas + I; + Maysculas + I en Mac).

13. Haga clic en Aceptar. La declaracin de importacin se aade lo siguiente al principio del archivo:

Como se indica en la documentacin de la API, esta clase "representa un modelo y ver que devuelve un
controlador, que se resolvi por un DispatcherServlet La vista puede adoptar la forma de un nombre de
vista de cadenas que deben ser resueltos por un objeto ViewResolver.; alternativamente, un objeto View
se puede especificar directamente. El modelo es un mapa, permitiendo el uso de varios objetos
introducidos por su nombre. "

Tenga en cuenta que en este momento, no todos los errores corregidos porque la clase todava no puede
identificar la clase HelloService, ni hacer uso de su mtodo sayHello ().

14. En HelloController, declarar un campo privado llamado HelloService:

A continuacin, cree un mtodo de establecimiento pblico para el campo:

Por ltimo, haga clic en el editor y seleccione Corregir importaciones (Ctrl + Maysculas + I; +
Maysculas + I en Mac). La siguiente declaracin se agrega a la parte superior del archivo:

Todos los errores fijar ahora.

15. Registro HelloService en applicationContext.xml. applicationContext.xml abierta en el editor y escriba la
declaracin de frijol siguientes:



16. Registro HelloController en despachador servlet.xml. Abrir despachador servlet.xml en el editor y
escriba la declaracin de frijol siguientes:




La aplicacin de los dictmenes

Para poner en prctica la visin de este proyecto, es necesario crear dos pginas JSP. La primera, que
llamaremos nameView.jsp, sirve como la pgina de bienvenida y permite al usuario introducir un nombre.
La otra pgina, helloView.jsp, muestra un mensaje de bienvenida que incluye el nombre de entrada.
Comience por la creacin de helloView.jsp.

1. En la ventana Proyectos, haga clic en el nodo WEB-INF> jsp y elija New> JSP. El nuevo asistente de JSP
abre archivos. Nombre del archivo helloView.
2. Haga clic en Finalizar. La nueva pgina JSP se crea en la carpeta jsp y se abre en el editor.
3. En el editor, cambiar el ttulo del archivo de Hola, y cambiar el mensaje de salida para recuperar el
helloMessage del objeto ModelandView que se crea en HelloController.



4. Creamos otra pgina JSP de la misma manera que el anterior, pero el nombre que nameView.
5. En el editor, agregue la siguiente etiqueta de primavera de la declaracin de la coleccin de
nameView.jsp.



Esto importa la biblioteca de etiquetas de primavera, que contiene etiquetas tiles en la aplicacin de
puntos de vista como las pginas JSP.

6. Cambiar el contenido de la <title> y etiquetas <h1> para que diga: Ingrese su Nombre.
7. Escriba el siguiente cdigo debajo de la <h1> tags:



Spring : bind permite enlazar una propiedad de bean. La etiqueta de enlace proporciona un estado de
enlace y el valor, que se utiliza como el nombre y el valor del campo de entrada. De esta manera, cuando
se enva el formulario, la primavera se sabe cmo extraer el valor presentado. Aqu, nuestra clase de
comando (controller.Name) tiene un valor de la propiedad, por lo tanto se establece la ruta de acceso al
valor.

Spring : nestedPath le permite estar precedidos de una ruta especfica a un bean. As, cuando se utiliza
con la primavera: obligar a como se muestra arriba, la ruta de acceso al bean se convierte en: name.value.
Como recordarn, el nombre del comando de HelloController es el nombre. Por lo tanto, este camino se
refiere al valor de la propiedad de un bean llamado nombre en el mbito de la pgina.

8. Cambiar el punto de entrada en relacin a la solicitud. En la actualidad, el punto de entrada del proyecto
sigue siendo index.htm que, como se describe en la Ejecucin del Proyecto del esqueleto de lo anterior,
vuelve a dirigir a WEB-INF/jsp/index.jsp. Usted puede especificar un punto de partida para el proyecto
cuando se implemente y ejecute. En la ventana Proyectos, haga clic en el nodo del proyecto y seleccione
Propiedades. El proyecto de dilogo Propiedades muestra. En Categoras, seleccione Ejecutar. En el campo
de direccin URL relativa, escriba / hello.htm, a continuacin, haga clic en Aceptar.

En este momento usted puede preguntarse donde la asignacin de hello.htm a HelloController se
encuentra. Usted no ha aadido una asignacin a la haba UrlMapping, como es el caso de index.htm,
pgina de inicio del proyecto esqueleto. Esto es posible con un poco de magia de la primavera siempre en
la definicin de frijol siguientes despachador servlet.xml:



Este frijol es responsable de la creacin automtica de una asignacin de URL para todos los controladores
registrados en el archivo. Toma el nombre de clase completamente cualificado del controlador (en nuestro
caso, controller.HelloController) y tiras el nombre del paquete y el sufijo Contralor, a continuacin, utiliza
el resultado como una asignacin de direccin URL. Por lo tanto, para HelloController se crea una
asignacin hello.htm. Esta magia sin embargo, no funciona para los controladores que se incluyen en el
Spring Framework, como ParameterizableViewController. Requieren una asignacin explcita.

9. En los proyectos de ventana de la derecha haga clic en el nodo del proyecto y seleccione Ejecutar. Esto
compila, despliega y se ejecuta el proyecto. El explorador predeterminado se abre, mostrando hello.htm
como nameView del proyecto:




Escriba su nombre en el campo de texto y haga clic en entrar. La muestra helloView con un mensaje de
felicitacin: