Large number of enterprise web applications is developed using Java and forms a very integral part of any organization in modern day. Web applications have become more and more complex and it poses more and more challenges day by day. Having a good web framework should be able to address most of these challenges there by reducing the effort on the developer and allowing them to focus on implementation of actual business logic.
This Chapter introduces you to the Spring Frameworks web support and the various components in the Spring web stack. This is just an introduction to the Spring’s frameworks role in the web application development support.
The Chapter starts off by explaining the Spring web stack and the various components which it comprises. Later on it delves deep into each component and explains each one in detail. Following with the Spring philosophy it then covers the various integration possible with your Spring application. Since some integration is really important, these are covered as separate chapters later on.
A Little History
Before going deep into the Spring web stack, a little history about the Spring web stack development from its early days to present.
Spring started its journey in 2002 and Spring Web was part of the original Spring ecosystem and contained servlet/web tier tool for aiding web application development. Then came Spring Frameworks own MVC framework in the form of Spring MVC. Following the core principles of Spring, it allowed to integrate with other frameworks.
Then came the inclusion of Spring Portlet MVC which was contributed initially by Rutgers in April 2004. John Lewis started contributing changes and it got included in the main Spring code base along with Spring 2.0 release.
Spring Web Flow started as a sub project and its first release was in March 2005. Due to its innovative ideas and good acceptability in the industry after inception, it soon became an independent project and got its independent release version 1.0 released in the same year.
Over the period Spring MVC and Spring Web Flow evolved and is considered among the renounced web technology stack.
Spring Web Stack
Modern day web application posses high level of challenges, including the following:
- Complexity continues to rise at an alarming rate
- Necessity of exposing services to a larger audience
- Ability to give users the best possible experience in the shortest possible of time
- High expectations
- Ability to build simpler applications
- Cloud enablement
Ideally any web framework chosen for web application development should address the above challenges reducing much of the complexity for the developer. Spring provides a full stack web framework by gathering multiple libraries and frameworks useful for web development into a single unified software stack for web developers to use. It tries to address the rising complexities raised by web application development by building on top of the lightweight Spring container. Figure 11-1 shows the various components provided by the Spring web stack for developing web application using this foundation.
Figure 11-1. Spring Web Stack components
The Spring Web Stack gives you:
- A unified programming model
- Capability to handle multiple client types using the same foundation
- Adaptability to choose the right approach according to the required use case
The various Spring web stack components are:
- Spring Framework and Spring MVC
- Spring Web Flow
- Spring Security
- Spring Faces
- Spring BlazeDS Integration
Page Visitors: 2312