Is it possible to build a web application as a generic product rather than a one-time customized solution?
There is a business problem that needs to be solved. The obvious solution is an enterprise web application - a locally hosted website that provides the desired functionality.

I want to build this web application, but build it such that - 

* Its more of a product than a one-time solution; such that it can be customized for different clients
* It is possible to provide 'fixes' for this web application, so that bugs can be removed and enhancements added with minimum impact on operations
* The web app should be capable of working with different databases and existing authentication systems

Is this even possible? Is it a common enough approach that there is a known way of going about this? Would it be better to use an application framework like Spring or try and keep dependencies on frameworks to minimal?

Also, any links or references to books that will guide me will be greatly appreciated.

Thanks in advance StackOverflow!

(I feel like I dont know all what I need to know before embarking on this project, please feel free to point out things I haven't and should consider)
Is it possible to build a web application as a generic product rather than a one-time customized solution?
===

There is a business problem that needs to be solved. The obvious solution is an enterprise web application - a locally hosted website that provides the desired functionality.

I want to build this web application, but build it such that - 

* Its more of a product than a one-time solution; such that it can be customized for different clients
* It is possible to provide 'fixes' for this web application, so that bugs can be removed and enhancements added with minimum impact on operations
* The web app should be capable of working with different databases and existing authentication systems

Is this even possible? Is it a common enough approach that there is a known way of going about this? Would it be better to use an application framework like Spring or try and keep dependencies on frameworks to minimal?

Also, any links or references to books that will guide me will be greatly appreciated.

Thanks in advance StackOverflow!

(I feel like I dont know all what I need to know before embarking on this project, please feel free to point out things I haven't and should consider)