Normally you'll want to have a Task Controller
Servlet and a Page Controller Servlet. The task controller would be the place where you implement the business logic (perform the actions that result from the page submitted by the user). The page controller is where you prepare all the (normally session) data for display by the JSP page. This is where you would do what you're talking about with your SQL query, joining the user data, etc.
One of the benefits you gain by having two separate task/page controller Servlets is the ease with which you can implement the Post Redirect Get (PRG) design
pattern (if you haven't heard of this yet, it's in the FAQ).
I hope it's making more sense. It took me a little while to get the whole MVC, Page/Task Controller model through my thick skull, but once I did I was able to see the great benefits.
Best Regards,