RUEDA TORRES DULCE CAROLINA 3CM2 FRAMEWORK SPRING EN UNA APLICACIÓN WEB WEB APPLICATION DEVELOPMENT USO DE EL FRAMEWORK SPRING Web Application Development 1. INTRODUCCIÓN El Spring Framework es un popular marco de aplicaciones de código abierto que puede hacer más fácil el desarrollo de Java EE. Se compone de un contenedor, un marco para la gestión de componentes y un conjunto de complemento de servicios para interfaces de usuario web, transacciones, y la persistencia. Una parte de la Spring Framework es Spring Web MVC. En esta práctica vamos a construir una aplicación web utilizando el framework Spring . La aplicación permite al usuario introducir su nombre en un campo de texto, y al hacer clic en OK, el nombre se devuelve y se muestra en una segunda página con un saludo de bienvenida. 2. CREACIÓN DE UN NUEVO PROYECTO CON SPRING WEB MVC SOPORTE Creación de un Spring Web MVC esqueleto del proyecto Comenzamos por crear un nuevo proyecto para una aplicación web usando Spring Framework. 1. Elegimos New en el menú File del IDE, seleccionamos la categoría de Java Web, y a continuación, seleccionamos el marco de proyectos de aplicaciones Web. Clic en Siguiente. 2 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development 2. Asignamos al nombre del proyecto “HelloSpring”. Clic en Siguiente. 3. En la configuración del servidor deseleccionamos la opcion Enable Contexts and Dependency Injection. Clic en siguiente. 3 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development 4. En el panel Marcos, deshabilitamos la opción seleccionamos Spring Web MVC y JSTL (JavaServer Pages Standard Tag Library), ya que no es requerida. 5. Damos clic en la ficha Configuración y hay que tener en cuenta que el asistente permite especificar el nombre y el mapeo del servlet Spring Dispatcher. 4 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development 6. Damos clic en Finalizar. El IDE crea un proyecto para toda la aplicación, incluyendo todos los metadatos que se pueden inspeccionar desde la ventana de Archivos. La ejecución del proyecto Skeleton Antes de hacer cualquier cambio a los archivos de proyecto, ejecutamos el nuevo proyecto en el IDE: 1. Damos clic en el botón ejecutar ( ) en la barra de herramientas principal del IDE. La salida generada se completa con una BUILD SUCCESSFUL mensaje. 5 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development Y en el navegador aparece lo siguiente: Para llevar a cabo esto, el punto de entrada por defecto para la aplicación es redirect.jsp, dentro del cual hay una redirección declaración que apunta a todas las solicitudes 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 al DispatcherServlet de Spring. 6 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development El DispatcherServlet maneja las solicitudes entrantes en función de parámetros de configuración se encuentran en dispatcher- servlet.xml Cuando el DispatcherServlet recibe una solicitud que coincide con *.htm como index.htm , busca un controlador urlMapping que puede acomodar a la solicitud. 7 RUEDA TORRES DULCE CAROLINA dentro de USO DE EL FRAMEWORK SPRING Web Application Development 3. DESCRIPCIÓN DE LA APLICACIÓN La aplicación que se crea se compone de dos páginas JSP. El primer punto de vista contiene un formulario HTML con un campo de entrada pidiendo el nombre del usuario. El segundo punto de vista es una página 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 solicitud y decide que ve regresar. En nuestra aplicación, la lógica de negocio se limita al acto de procesar el mensaje de saludo, y para ello se crea un HelloService . 4. LA IMPLEMENTACIÓN DE UN SERVICIO Comenzamos por la creación de la clase HelloService. 1. Damos clic en el icono de archivo nuevo ( ) y seleccionamos la categoría de Java, específicamente JavaClass. Clic en Siguiente. 8 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development 2. En el Asistente para nueva clase de Java que se muestra, asignamos HelloService al Nombre de clase, y servicio al nombre del paquete. 3. Haga clic en Finalizar. El IDE crea la nueva clase y lo abre en el editor. El HelloService clase realiza un servicio muy simple. Se necesita un nombre como parámetro y devuelve un String que incluye el nombre. En el editor, creamos el siguiente método de la clase sayHello(). 9 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development 5. IMPLEMENTAR EL CONTROLADOR Y EL MODELO Utilizaremos un SimpleFormController para manejar los datos del usuario. 1. Abrimos el asistente de archivo nuevo. En Categorías seleccionamos Spring Framework y en Tipo de archivo seleccionamos Simple Form Controller. Clic en siguiente. 2. Asignamos HelloController al nombre de la clase y controlador al nombre del paquete. Clic en Finalizar. 10 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development 3. Especifique las propiedades del controlador, quitando los comentarios de los métodos de establecimiento que se muestran por defecto en la plantilla de clase. 4. Realizamos los cambios de la siguiente manera. Hay que tener en cuenta que un error se encuentra en posición para Name en el método setCommandClass(), por lo cual tendremos que crear la clase Name como un bean simple para almacenar la información para cada solicitud. 5. En la ventana de Proyectos, hacemos clic en el nodo del proyecto y elegimos New> Java Class. 11 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development 6. Asignamos name para el nombre de la clase, y controlador al paquete, seleccionándolo de la lista desplegable. Clic en finalizar. 7. Para la clase Name, creamos un campo llamado value y métodos de acceso para dicho campo. 8. El IDE puede crear los métodos de acceso. 12 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development 9. En el cuadro de diálogo que aparece, seleccionamos value : String. Damos clic en aceptar. Los métodos getValue()y setValue()se agregan a la clase Name: 10. Eliminamos el método doSubmitAction() y quitamos los comentarios del metodo onSubmit(). El método propio ModelAndView. 13 RUEDA TORRES DULCE CAROLINA onSubmit() permite crear un USO DE EL FRAMEWORK SPRING Web Application Development Se utiliza el addObject() método para agregar el mensaje de saludo a la modelo con el nombre de helloMessage . 11. Dentro de HelloController , declaramos un campo privado llamado HelloService y un método de selección pública para el campo. 12. Registraremos HelloService en applicationContext.xml en el editor realizamos la declaración del siguiente bean: 13. Registramos HelloController en dispatcher-servlet.xml agregando la declaración del siguiente bean: 14 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development 6. APLICACIÓN DE LAS VISTAS Ahora es necesario crear dos páginas JSP, la primera, que se llamará nameView.jsp, sirve como la página de bienvenida y permite a los usuarios para introducir un nombre. La otra página, helloView.jsp, muestra un mensaje de bienvenida que incluye el nombre de entrada. 1. En la ventana de Proyectos, damos clic en el WEB-INF> jsp nodo y seleccionamos New> JSP. Asignamos al nombre del archivo helloView. Clic en finalizar. 2. En el editor, cambiamos el título del archivo a Hello , y cambiamos el mensaje de salida para recuperar el helloMessage de ModelandView objeto que se crea en HelloController. 15 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development 3. Creamos otra página JSP de la misma manera que la anterior, pero ahora el nombre será nameView. 4. En el editor, agregue la siguiente declaración de Spring Tag Library para nameView.jsp 5. Cambiamos el contenido de las etiquetas <title> y <h1> para que diga: Enter Your Name. Escribimos el siguiente código debajo de las etiquetas <h1>: 16 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development 6. Cambiamos el punto de entrada relativa a la aplicación. En la ventana de Proyectos, damos clic en el nodo del proyecto y seleccionamos Propiedades. En Categorías, seleccionamos Ejecutar. En el campo de dirección URL relativa, escribimos /hello.htm, clic en Aceptar. 7. EJECUCIÓN DE LA APLICACIÓN Finalmente, en la ventana de Proyectos damos clic derecho en el nodo del proyecto y seleccionamos Ejecutar. Esto compila, instala y ejecuta el proyecto. El navegador predeterminado se abre, mostrando hello.htm: 17 RUEDA TORRES DULCE CAROLINA USO DE EL FRAMEWORK SPRING Web Application Development Y al dar clic en ok aparece el mensaje de bienvenida con el nombre previamente introducido: 18 RUEDA TORRES DULCE CAROLINA