Of course you need to learn the basic features of Java before learning anything else.
Of the "advanced" language features, I would pick reflection.
For the GUI, there are several options. I would still pick Swing, since it is the most common tool.
For the web, learn servlets and JSP (so you know the basics), then learn a framework (struts, JSF, etc.).
There is no clear cut favorite in my opinion.