Tools abound with java. This is both good and bad.
There's something for everything, but there's also SO much choice that it can be extremely confusing.
Some of the very popular and leading technologies are:
- Tomcat - http://tomcat.apache.org/ - a servlet container. This is basically an app server for running your webapp. Supports JSP (scripting language), Servlets, and full objects.
- Hibernate - http://www.hibernate.org/ - powerful, high performance object/relational persistence and query service. This is a great way of mapping your objects to your database tables. Makes CRUD easy.
- Struts - http://struts.apache.org/ - An MVC framework for building websites. This is the leading framework out there. Lots of people know it, and it really can make your webapp development easier.
- Ant - http://ant.apache.org/ - Apache Ant is a Java-based build tool. - It's like make. XML based build scripts. This will help you a LOT.
- AppFuse - http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse - This ROCKS. You should start here, I'd say. It's basically a kickstart for a webapp, using the most popular technologies out there (including those mentioned above). Even if you don't end up sticking with it, it's a GREAT way to look at some code and see how you should be doing things.
- Eclipse - http://www.eclipse.org/ - a free IDE
- IntelliJ IDEA - http://www.jetbrains.com/idea/ - a non-free IDE - THIS IDE ROCKS
1. Java has JDO, is this different than Hibernate? (No need to be technical)
Hibernate and JDO have the same purpose.
we don't use IDEA at my current job and I miss it :(
I might have to buy my own license