How to learn high-level Java web development concepts
- by titaniumdecoy
I have some experience writing web applications in Java for class projects.  My first project used Servlets and my second, the Stripes framework.
However, I feel that I am missing the greater picture of Java web development.  I don't really understand the web.xml and context.xml files.  I'm not sure what constitutes a Java EE application as opposed to a generic Java web application.  I can't figure out how a bean is different from an ordinary Java class (POJO?) and how that differs from an Enterprise Java Bean (EJB).  These are just the first few questions I could think of, but there are many more.
What is a good way to learn how Java web applications function from the top down rather than simply how to develop an application with a specific framework?  (Is there a book for this sort of thing?)  Ultimately, I would like to understand Java web applications well enough to write my own framework.