Due to past (bad) experience resulting from the GCJ stuff being provided by default on certain distributions, I've always traditionally installed the official Sun Java package on servers.
On Ubuntu it's been easy but now OpenJDK is a preferred option and easier to install... I wonder: is there any reason not to use it instead? As far as I understand it's the open source version of the Sun JDK.
FYI: Sun Java JDK 6u20 (for Ubuntu 10.04) is available from the Canonical Partner repository
I'd never use it. I'm aware of the licensing restrictions around Sun's Java, but if you want things to work, use sun-java6. I've tried setting up tomcat and hudson (for example) using OpenJDK and had a world of pain.
It's really not that much harder to specify Sun Java, and it's a considerably better package.
I've used openjdk for a while. I mainly run eclipse and a few other apps, and they seem to work just fine. However, last I checked there were some bugs with the browser plugin, and Tom O'Connor mentions problems with tomcat, so YMMV.
I had to switch from openjdk to sun jdk on ubuntu recently due to a bug in openjdk causing break points to not fire in Eclipse.
I would even recommend using the latest release from Sun^WOracle. Ubuntu lags behind in term of Java version (the official package is the 6.16, while the official version is the 6.19) and by not using the latest version (or at least the 6.18) you'll deprive yourself from a lot of performance
I have heard from people that they had problems running Tomcat on OpenJDK but so far I have not found a single bug report involving OpenJDK and Tomcat...