What you may be thinking of is that is not uncommon in a MVC architecture to have only one controller servlet. This servlet receives all requests (or most, as it would not receive requests for images, CSS files, etc). However, in most such scenarios, unless you have a
very simple web application, this servlet will pass the request along to other Servlets or classes that are part of the complete controller. For example, in
Struts which uses MVC, the flow goes something like this:
A request is made (typically from a previously displayed page, or View).The ActionServlet, which acts as the Controller, receives the request. It looks up the requested URI in the strus-config.xml file, which contains a mapping to the Action class that will do the business logic associated with that mapping. The Action class performs the necessary business logic, interacting with any Model necessary components.When the Action has completed its logic, it returns control to the ActionServlet. When doing so, the Action class sends the ActionServlet a key that tells it the result of the processing. The ActionServlet looks this key up in the struts-config.xml file, which tells it what view to use. The ActionServlet passes the request to that view.The associated view (typically a JSP page) processes the request (often using information stored in a DTO or bean) for display and then sends the response off to the client. Again this is just one implementation of the MVC. There are some other variants, and how they are set up will depend on how complex your application is, or more importantly, how complex it may be some day, After having worked on many projects that will "be small" or are "only temporary" that later become monsters, I am a firm believer in always designing as if you application will grow to be the next amazon.com
I hope that, along with Jeroen's answer, helps.