I will attempt to explain J2EE, and hope someone corrects me if I
get anything wrong. J2EE stands for "Java 2 Enterprise Edition" (I think
it's "edition", but "enterprise" is definitely in there somewhere). It's a
full set of technologies that derive from Java to support **distributed
enterprise applications** - i.e. multi-tier, cross-system
applications. J2EE consists of these technologies:
Java Servlets - the basis of J2EE, this is a set of Java classes that
implement support for Internet-based communications. Servlets understand
the HTTP architecture, and define objects like HTTPServletRequest and
HTTPServletResponse, which provide functionality for processing Internet
communications. Servlets are used by a web application server to interface
with web pages being accessed by customers/users.
JSP - Stands for "Java Server Pages" - An extension of Servlets that
borrows from the Microsoft ASP model. JSP allows you to embed Servlet code
into regular HTML files.
EJB - Stands for "Enterprise Java Beans" - this is the J2EE version of
"distributed objects" - kind of like CORBA or Com, but not. An Enterprise
Java Bean is an object that is defined in a way that lets Servlets and JSP
pages create the object remotely using JNDI.
I think that covers the gist of it. Of course, this is an incredibly broad
overview and doesn't do any of these technologies justice. There's plenty
of books out there if you want to learn more.