I have a lot of common areas in my web application design, for example footer, header sidebar, blocks...etc and going through all of the application JSP files to change somethin
As for templating you have the following options:
Custom JSP tags. These tags may exist as Java classes or JSP snippets and provide a basic facility to encapsulate and reuse parts of JSP pages (headers, footers, etc.). See more in this manual
Template engines like Tiles or decorators like Sitemesh. They are quite powerfull in building complex page layouts.
If you're looking for custom UI themes support please take a look at custom themes support in Spring MVC.