We have a requirement wherein we have to develop a JSP-based web-site which is very similar in functionality to one we have already developed. Only some attributes like page colors/fonts/images and some header text may change. What are some of the best-practices for developing sites based on this kind of scenario?
In general: isolate your changes to as little files as possible following a design principle that says that you should separate pieces of design that evolve with different speeds. GUI and layout tends to change more often than code and logic.
A lot of attributes that make up the look of your site can be put in a Cascading StyleSheet (.css).