I would like to take a stab at explaining why you need to implement the handleRequestInternal method in each and every one of your controllers.
Your controllers job is to take requests from clients and do something with them. Often this means hitting a DB, doing some logic, or simply displaying a page. The controller is expected to do something with that request, and you as the programmer are the only person who knows exactly what that thing is. That is why you have to implement the handleRequestInternal method. The spring controller can do everything but decided what to do.
If your controllers simply display a page, then your implementation can be very easy, simply return a new ModelAndView with the view name and the model.
Here is a very simple model and view that will display a view.
I hope this explains it without sounding like I know everything about what you are trying to do.
return new ModelAndView("viewName", new Hashtable());
I apologize, but I have never needed to wrap mine in a synchronized block in order to use sessions. So I don't know how to explain that part.
i dont understand what it means by synchronizing around the call on the HttpSession?