Frameworks Spring MVC- JSF

  • View
    1.615

  • Download
    2

Embed Size (px)

Transcript

Cmo Funciona Spring MVC Basado en consulta URL de http, el DispatcherServlet llama al controlador correspondiente. Una vista es renderizada y enviada a la respuesta http. Declaracin de Spring Servlet En 'WEB-INF/web.xml', se le declaran las URLs Spring DispatcherServlet y mapa '*.html': springmvc org.springframework.web.servlet.DispatcherServlet 1 springmvc *.html jsp/index.jsp

Configuracin de Spring Servlet Crear el archivo de configuracion Spring 'WEB-INF/springmvc-servlet.xml' (nombre basado en el nombre del servidor superior).

Mapear la URL /hello_world.html al controlador HelloWorldController. Declara resolucin de vista: cuando la vista 'view_name' es llamada (desde el controlador), el archivo '/jsp/view_name.jsp' ser usado. Controlador Creacin del controlador INF/src/springmvc/web/HelloWorldController.java'package springmvc.web; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; public class HelloWorldController implements Controller { public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String aMessage = "Hello World MVC!"; ModelAndView modelAndView = new ModelAndView("hello_world"); modelAndView.addObject("message", aMessage); } } return modelAndView;

'WEB-

Este controlador llama a la vista 'hello_world', pasndole 'message'(como un atributo Struts). Vista Ahora la vista: 'jsp/hello_world.jsp'. This is my message: ${message}

Muestra el atributo del mensaje anteriormente establecido en el controlador. Hacerlo funcionar Desde 'WEB-INF' tipo carpeta.ant

Volver a correr Tomcat y revisar si funciona. http://localhost:8180/springmvc/hello_world.html Resumen Tu proyecto debe lucir as:

- Declaramos servlet Spring en web.xml. - Creamos un archivo de configuracin Spring, donde mapeamos URL a un controlador y definir una forma de resolver las vistas. - Creamos un controlador y una vista.

Definiciones El Spring MVC Framework ofrece una sencilla interfaz basada en infraestructura web para la entrega arquitecturas MVC. En la mayora de los casos una aplicacin de Spring MVC es muy comprobable, porque Spring no requiere el desarrollador para extender una base abstracta acciones / controladores de Struts. Hay muchas otros Frameworks web basados en Java por ah (Struts, WebWork, varias implementaciones de JSF, Tapestry, etc) y todos tienen sus pros y sus contras, pero si usted ya est usando Spring Framework para otros servicios, un beneficio adicional de usar Spring MVC es que otros Spring Beans pueden ser fcilmente inyectados en los controladores de red. Si los servicios inyectados en los controladores son interfaces, entonces es muy fcil escribir implementaciones sencillas alternativas de las interfaces para el fin de probar sus controladores. Interfaces clave: Controlador - Debe implementar handleRequest ModelAndView (solicitud, respuesta) Esta es la interfaz de controlador base, comparable a la idea de una accin de Struts. Vista - Debe implementar void render (modelo, solicitud, respuesta) Este es el punto de vista MVC para una interaccin en la web. Las implementaciones son responsables para representar el contenido, y exponer el modelo. Para completar el tro MVC, tenga en cuenta que el modelo se maneja normalmente como un java.util.Map que se devuelve con la vista y los valores estn disponibles, por ejemplo en un JSP, utilizando un donde la identificacin corresponde al valor de la clave en el modelo (mapa). Clases clave: DispatcherServlet - el servlet principal que distribuye las solicitudes para los manejadores. Este ser normalmente conectado en su web.xml y se le asigna patrn(es) URL para ser manejada con Spring MVC. ModelAndView - Soporte tanto para modelo y vista en el marco web MVC. SimpleFormController - implementacin bsica de controlador para hacer envos de formularios web estndar, tiene forma configurable y puntos de vista de xito, y una cadena onSubmit para conveniencia primordial.

Spring es una tecnologa dedicada para permitir consruir aplicaciones usanjo POJOs, Rod Johnson- The Server Side.

Comparativa entre Spring MVC contra JSF Manzanas con naranjas. Spring es un Framework que integra la inyeccin de dependencia, orientada a aspectos de programacin y otras cosas varias en una sola pila. Sus manzanas en bruto a comparacin de manzanas sera J2EE. JSF es una tecnologa de capa de vista, basado en el paradigma Modelo Vista Controlador. Sus naranjas en bruto a comparacin de naranjas seran Spring MVC. Ambos se pueden utilizar distintas tecnologas de Vista (es decir, Facelets, JSP, Velocity, etc.), y ambos integran muy bien en sus respectivas pilas. La idea es que Spring le permite usar lo que quiera, para mezclar y combinar sus componentes con facilidad. As pues, en efecto, puede utilizar Spring para hacer su gestin de transacciones y AOP, pero optar por utilizar Spring MVC, Struts y JSF como Framework MVC. Con ese entendido, vamos ahora comparar manzanas con manzanas Spring MVC vs Struts vs JSF. Struts Struts se va a convertir en obsoleto muy pronto. Es uno de los primeros Framework MVC, y por lo tanto muy complicado y "hacia atrs" para los estndares de hoy en da (debido a la necesidad de mantener la compatibilidad hacia atrs, no lo pueden redisear la forma en que se debe hacer). Se confirma que no habr una puntales 2. El PPL puntales estn empezando un nuevo proyecto en struts-pizarra que se basan en totalmente diferente de los puntales JSF. El propio Struts slo se mantendr y ser mantenido por los que siguen interesados? en hacerlo, mientras que a los principales PPL se estn concentrando en la pizarra ahora. Esquisto en la actualidad es an muy joven, con slo una versin de este escrito. Esta versin se considera "relativamente estable", y slo para los primeros y PPL que estn interesados? en la evaluacin de l (Vase el sitio web). Spring MVC Similar al concepto de Struts, pero mucho ms elegante, bien pensado y para acabar con un montn de deficiencias y naturaleza engorrosa de Struts. Como Struts, tambin se basa en el modelo de arquitectura 2 JSF JSF es un estndar oficial de Oracle. Se trata de una especificacin, por lo tanto, tendr un montn de implementaciones. Ahora tambin es parte de las especificaciones J2EE. Por lo tanto, cualquier fabricante que quiera ser compatible con J2EE se ve obligado a salir con una implementacin JSF y proporcionar apoyo. En otras palabras, habr mucha competencia para ofrecer los lotes y lo mejor de las opciones. En la actualidad, las dos implementaciones principales JSF RI de Sun (Referencia de Aplicacin) y Apache MyFaces. JSF tiene una arquitectura y modelo de programacin totalmente diferente, abandonando el modelo clsico de arquitectura 2. Algunos PPL dicen que ahora es un verdadero modelo MVC y el modelo 2 es una MVC aguada. Se adopta un

nuevo modelo similar al de ASP.net, lo que hace que sea fcil para los constructores GUI WYSIWYG para generar pginas para usted (s, como M$ Visual Studio). Su estilo de programacin ser similar a Swing. Ahora pone oyentes en los enlaces y botones para activar eventos y organizar la distribucin del uso de objetos de la presentacin (por ejemplo, objetos de cuadrcula de diseo como en Swing. Se va a generar tablas y arreglar cosas para ti). Tiene una configuracin mucho menor que Struts, incluso si codifica duramente cdigo JSF sin constructores GUI (de forma correcta, por supuesto). Se siente mucho como modelo M $ 's lo nico es que no ser atrapado con una sola implementacin / proveedor / empresa. Si una aplicacin es psima, elegir otro proveedor. No se ve obligado a vivir con el feo, sucio y mal cdigo que una compaa genera. Usted tiene opciones. Rating comparativo (puntuacin por criterios): Criteria Developer Productivity Developer Perception Learning Curve Project Health Developer Availability Job Trends Templating Components Ajax Plugins or Add-Ons Scalability Testing i18n and l10n Validation Multi-language Support (Groovy / Scala) Quality of Documentation/Tutorials Books Published REST Support (client and server Mobile / iPhone Support Degree of Risk Totals Spring MVC 0.50 1.00 1.00 1.00 1.00 1.00 1.00 0.00 1.00 0.00 1.00 1.00 1.00 1.00 0.50 1.00 1.00 1.00 1.00 1.00 17 JSF 2 0.50 0.00 0.50 1.00 1.00 1.00 0.50 1.00 1.00 1.00 0.50 0.50 1.00 0.50 1.00 0.50 1.00 1.00 1.00 1.00 16.5

Spring MVC Pros o Fcil configuracin con Anotaciones y Convenciones. o Se integra con varias opciones de Vista de forma similar: JSP/JSTL. Tiles, Free Marker, Excel, PDF, JSON, Velocity. o Excelente soporte REST. o Ciclo de vida para unin primordial, Validacin, etc. o Inversin de Control facilita las pruebas. o Permite completo control de URL. o Permite usar Commons Validator, una solucin madura. o Permite agregar parmetros a un redireccionamiento. o Est obteniendo ms prensa, mayormente por otras caractersticas del Framework. Contras o Recarga instantnea incorporada, necesita JRebel o Spring Roo. o Proceso de desarrollo no abierto, necesita ser Spring Source. o Soporte Ajax no integrado, requiere librera 3rd-Party. o Configuracin intensiva, montones de XML. o Casi demasiado flexible, no tiene controlador par comn. JSF Pros o o o o o o o o Arquitectura de componente. Gran cantidad de libreras y herramientas. Aceptable soporte IDE. Estndar Java EE- bastante demanda y trabajos. Rpido y sencillo de desarrollar con iniciativa. Bastantes libreras de componentes. Posee mensajes definidos poco gratos, pero fciles de configurar. Se est volviendo bastante popular.

Contras o Pesado, tanto en CPU/ memoria y curva de aprendizaje. o No corre bien con REST o Seguridad. o No hay un recurso nico para implementacin. o Realiza POST para todo, URLs ni siquiera se consideran. o Sin sopo