Not many people are familiar with the support that Spring framework has for hierarchical context. The question is why do we need such feature. This feature is useful in the scenario where your product has multiple web applications and all of them depend on a common framework or library. Instead of deploy that framework or library in each web application, you can deploy it in the Tomcat top level class loader, which affectively makes the framework or library available to all web applications deployed in that Tomcat server.
This is when hierarchical context feature comes to the rescue. A very good write up about this feature is at this blog.