Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Struts & spring framework issues


Published on

Discuss about Struts and Spring Framework

Published in: Engineering, Technology, Education
  • Be the first to comment

Struts & spring framework issues

  1. 1. Struts & Spring Framework Issues Anshu Gaur (1103014007)
  2. 2. Struts  Struts is an open-source web application framework from apache for developing Java EE applications.  It was originally created by Craig McClanahan and donated to the Apache Foundation in May, 2000. Formerly located under the Apache Jakarta Project and known as Jakarta Struts, it became a top-level Apache project in 2005.  It uses and extends the Java Servlet API to encourage developers to adopt a model-view- controller (MVC) architecture.  Struts offers a set of tag libraries to support the faster development of the different layers of the web application
  3. 3. Struts Framework  The Struts Framework is a standard for developing well-architected Web applications. It has the following features:  Open source  Based on the Model-View-Controller (MVC) design paradigm, distinctly separating all three levels: ◦ Model: application ◦ View: presentation of data (JSP, HTML) ◦ Controller: routing of the application flow  Implements the JSP Model 2 Architecture  Stores application routing information and request mapping in a single core file, struts-config.xml
  4. 4. M-V-C ◦ Model: application state(Represent Data Layer) ◦ View: presentation of data (JSP, HTML)(represent the data processed by the model component) ◦ Controller: routing of the application flow(Responsible for interaction b/w model & controller ·
  5. 5.  All incoming requests are intercepted by the Struts servlet controller.  The Struts Configuration file struts-config.xml is used by the controller to determine the routing of the flow.  This flows consists of an alternation between two transitions:  FromView to Action: A user clicks on a link or submits a form on an HTML or JSP page.The controller receives the request, looks up the mapping for this request, and forwards it to an action.The action in turn calls a Model layer (Business layer) service or function.  From Action toView: After the call to an underlying function or service returns to the action class, the action forwards to a resource in theView layer and a page is displayed in a web browser.
  6. 6. Spring Framework  Spring is a light weight and open source framework created by Rod Johnson in 2003.  Spring is a complete and a modular framework, i.e. , spring framework can be used for all layer implementations for a real time application.  Spring can be used for the development of particular layer of a real time application unlike struts [ only for front end related ] and hibernate [ only for database related ], but with spring we can develop all layers.
  7. 7.  Spring framework is said to be a non-invasive means it doesn’t force a programmer to extend or implement their class from any predefined class or interface given by Spring API, in struts we used to extend Action Class right that’s why struts is said to be invasive.  Spring is light weight framework because of its POJO (plain old Java objects)model; when it comes to size and transparency.The basic version of spring framework is around 2MB.  Spring Framework made J2EE application development little easier, by introducing POJO model  Spring having this much of demand because of the following 3 reasons…. 1. Simplicity 2. Testability 3. Loose Coupling
  8. 8. Spring Framework Architecture  Spring is modular, allowing you to pick and choose which modules are applicable to you, without having to bring in the rest. The Spring Framework provides about 20 modules which can be used based on an application requirement.
  9. 9.  Actually in spring 1.x, the framework has divided into 7 well defined modules. But in 2.x framework is divided into 6 modules only.. ◦ Spring Core Module ◦ Spring Context [ J2EE ] ◦ Spring DAO Module [ Spring JDBC ] ◦ Spring ORM module ◦ Spring AOP [ Aspect Oriented Programming ] ◦ SpringWEB-MVC Module  Spring Core Module is the base for all modules, and very important.
  10. 10. Spring Framework  Core modules are : Aspect oriented programming(AOP) Object relational mapping(ORM) Data access object(DAO) J2EE Web-MVC
  11. 11.  Aspect-oriented programming: enables implementing cross-cutting concerns.  Object relational mapping:The ORM module provides integration layers for popular object-relational mapping APIs, including JPA, JDO, Hibernate,.  Data access object: working with relational database management systems on the Java platform using JDBC and object-relational mapping tools and with NoSQL databases.  Web-MVC: The Web module provides basic web-oriented integration features such as multipart file-upload functionality and the initialization of the IoC(Inversion of contrl) container using servlet listeners and a web-oriented application context. The Web-Servlet module contains Spring's model-view- controller (MVC) implementation for web applications.
  12. 12. Difference b/w struts & spring framework Struts Spring Struts is a sophisticated framework offering the easy 2 develop, structured view/presentation layer of the MVC applications. Springs is a Lightweight Inversion of Control and Aspect Oriented Container Framework. It is just not a framework to integrate / plug in at the presentation layer. it provides a framework to integrate OR mapping, JDBC etc., Struts can be used as the presentation tier in Spring. Struts is mainly a presentation layer framework, like redirecting to a particular page ,doing client side validations etc which otherwise very tedious using jsp and servlets. Spring is a complete J2EE framework having seven independent layers which can be used all together or few layers integrated with some other framework. Spring provides declarative transaction management and AOP. One layer of spring is for presentation purpose like struts but for only presentation layer, struts is better than spring
  13. 13. Struts 2 has AJAX theme. Spring is not. Struts is developed with a Front Controller and dispatcher pattern. Where in all the requests go to the ActionServlet thereby routed to the module specific Request Processor which then loads the associated Form Beans, perform validations and then handovers the control to the appropriate Action class with the help of the action mapping specified in Struts-config.xml file. Spring does not route the request in a specific way like this, rather it allows to you to design in your own way however in allowing to exploit the power of framework, it allows you to use the Aspect Oriented Programming and Inversion of Control in a great way with great deal of declarative programming with the XML. Commons framework can be integrated to leverage the validation in spring framework too. Struts 2 tags are style sheet-driven, making it easier to develop consistent pages. Spring is not.
  14. 14. Thank you