What to learn for "J2EE"?
Programmers with J2SE knowledge might want to learn J2EE,
because this often is required.
However, when one looks into J2EE tutorials, one sees that
they contain
- some technologies already known from J2SE,
like reading or writing XML files, or JDBC,
- and then a large amount of miscellaneous technologies,
like EJB or JSP.
Some parts of J2EE, like Enterprise Java Beans of version 2,
also might become obsoleted, for example by Enterprise Java
Beans of version 3, which are said to differ quite much.
Others recommend not to use EJBs at all, but Spring or
Hibernate - but Spring or Hibernate does not seem to be part
of J2EE.
So, can one set any emphasis? When one wants to start learning
with a single part of J2EE that is not used in J2SE and is
not currently seen to become obsoleted, where should one start?
What are the parts of J2EE one must absolutely know, because
they are required in nearly every J2EE project?
And what are the parts that might not be required at all when
working on a J2EE project, so they still can be learned when
they are actually used, but do not have to be learned when
preparing general J2EE skills?