You can write a servlet that handles all requests for your site and then hands the request off to another component for action. The other components can be java classes or JSP pages. The controller servlet will generally perform a number of housekeeping duties as well such as handling security and logging.