I\'m trying to learn Java EE, starting with Servlets and JSPs in an MVC architecture. I know Servlets are often used as the controller and JSPs are often used as the view, and t
The Java EE components all run on the server side, either on full Java EE servers like GlassFish, JBoss, WebLogic, or WebSphere, or on servers like Tomcat that just support servlets and JSPs.
In Java EE the MVC model can be thought of as a "domain model", ie the Java objects representing the entities that are important to your application. For instance a shopping application would have domain objects representing items for purchase, shopping carts, credit cards, mailing addresses, accounts, reviews, and so forth. Often these domain objects come from persistent storage such as a relational database.
Java EE's Java Persistence API is designed to handle the mapping between the Java domain model objects and the relational database tables used to make the objects persistence. Hibernate is one implementation of a JPA "object-relational mapper" (ORM).
Java EE is much more than that. To take just one example, it defines an ultra-reliable messaging service (Java Message Service) that back end application components use to communicate with each other.
As you explore Java EE, do give some thought to simpler and more productive alternatives like Ruby-on-Rails, LAMP stacks, Microsoft's .NET platform, and "light-weight" Java approaches like Spring/Hibernate. Richard Monson-Haefel, who wrote O'Reilly's very successful "Enterprise JavaBeans 3.0" (the fifth edition) and "Java Message Service", even goes so far as to claim that Java EE is "intimidating" to developers and will be eclipsed by these other approaches.
A good place to get a wider perspective is Todd Hoff's wonderful blog at http://highscalability.com/
Similar question has been asked on SO, i think.
Here's a good tutorial to get you started.
http://courses.coreservlets.com/Course-Materials/csajsp2.html
For Model 2 programming model, if you really want to do MVC programming, you can study "Page Controller" and "Front Controller" design patters to understand how they work behind the scene.
If you want to use ready-made framework, you can try out Spring MVC.
http://www.vaannila.com/spring/spring-mvc-tutorial-1.html
good luck.