Bone up on MVC first (the model-view-controller design pattern). A Servlet is a controller. Struts has its own Servlet and builds on standard functionality to also provide view (as well as controller) functionality. These are typically called 'web application frameworks'. Other examples include Tapestry and JSF. Generally, you will 'route' requests via XML files or annotations in these frameworks. They will also provide 'binding' from Java objects to your JSP's. You can always implement all of the above yourself (via Servlets and JSP's), but why re-invent the wheel?
- Saish