Spring vs. Struts in Java
Struts and spring both are used to develop Java web applications. Struts were developed earlier than Spring but with enhancements in the Struts framework, both are used nowadays to develop web applications using Java.
Modular, portable and testable Java applications can be formed using open-source spring framework. It is a standard for developing web apps and can be used over J2EE aka Java to Enterprise Edition applications. This handles the infrastructure and makes the codes reusable and testable thereby enhancing their performance. It works on an inversion of control IoC and dependency injection concept. It is also used to decrease the coupling between the modules of the program.
Spring Framework Architecture
Struts is a framework based on MVC architecture that stands for model view and Controller architecture. It is an open-source platform and is used to develop enterprise edition web applications. It has a request handler and response handler because it is based on request-based Framework which handles the request from the user. AJAX, REST and SOAP are supported by Struts.
Working of Struts:
Difference between Spring and Struts architecture
|It is a lightweight framework.||It is a heavyweight framework.|
|It does not support tag library.||It supports tag library directive.|
|It has loosely coupled modules.||It has tightly coupled programming modules.|
|It is integrated with ORM Technologies using which, lesser coding is required after and before the main logic.||It supports manual coding.|
|It has a layered MVC architecture containing 3 layers for modelling, viewing and controller.||It does not have a layered architecture.|