I am wondering if it is that much harder to learn Java by starting with web apps, rather than other console-type apps. Sure, there is a lot of hullabaloo over GUI design in Java and such, and many seem to use Java as a server-side programming language anyway.
I need to learn the key concepts of Java, but don't know if I will be in over my head if I want to learn how to build basic database-driven web applications (an inventory system is what I am keen on using for a first project). As I look at learning resources, there are many other technologies at play with web development such as JSP, JSF, beans, etc. I obviously need to learn the core stuff, but won't I be using core stuff anyway?
On a related question I saw regarding .NET development, one person said that ASP.NET knowledge would not mean less C# knowledge because they both come into play with web development on that framework.
Netbeans builds the dev server right in, so I don't have to mess with the extra setup or integration issues to get started - no worries there. I just wonder if that is too big a bite for starters?
I found the Java language easy to learn (I was proficent in both C/C++ and VB) but the techno-buzz and the cumbersome number of java products made it a hard time. Once you know Java, you face Chaos: - may I learn how to make Applets sing and dance? - How about Swing / AWT? Not to mention SWT from Eclipse... - Obviously, I need to learn every construct of the Java languaje, now. - Object relational mapping: Hibernate, Entity EJB, OJB, ... - What IDE is better: Eclipse, NetBeans, ... - plus other 1024 random questions. That's what I advice: - Learn how to make console Java apps. Learn the basics. Avoid reading a line on Applets. If you are not going to make any desktop apps, jump the AWT / Swing chapters. - Skip streams / files. Skip socket programming. - Learn OOP in Java. Learn JDBC. Learn the basic APIs: java.util, the Wrapper classess, etc. - Buy a book on servlets / JSP. - Learn an Object - Relational mapping package. Hibernate is relatively easy to learn. - Focus on MVC: Struts is easy to learn. - From here, go to JSF and Spring.
I know it's a stupid advice, but don't get stressed. You will need at least two years to master all that stuff. So take it easy...