Eclipse for me. It'll make you really more productive far beyond any other IDE I've ever used. It's so expandable with plugins that you won't believe.
I'm trying out servlets, jsp and database. I've a few plugins with Eclipse such as Subclipse to syncronize my work with different computers using a subversion server, Hibernate tools that automagically maps my classes against MySQL and even allows me to do a few queries from the IDE. Check out this tutorial:
I can start and stop Tomcat Web server from the IDE and even deploy or export a WAR with my entire project with a few mouse clicks. Real time syntax completion and highlighting.
Your code is also compiled on the fly, so it will display errors while you are typing. It will suggest you how to fix problems and, for example, if you forgot to use a try catch, it will put your statement in a throws or try/catch for you with a mouse click.
Works just as great with Java Standard as well as Java EE.
It can be extended even further with graphical editors to create GUI's using Swing if you wish to (still, netbeans has the lead when it comes down to GUI IMHO).
I would not recommend using anything else, even if you are beginner. I say this because when your projects start to get really big, you won't manage the complexity of Java with vi. You will really need an IDE, so why not start right from the beginning?