Maybe a little more information of your implementation is needed. Are those 4 steps implemented as own controllers? I guess so? One solution indeed is the AbstractWizardFormController or maybe you should just check the values in your command object that holds the user's data (selected products etc.). If needed infomation is missing, throw an error and redirect user elsewhere.
Originally Posted by javaspring
This is just my quick solution, since I don't know any details of your project
if a trainstation is where the train stops, what's a workstation...