Server side code has to be particularly robust and well engineered, as it manages more than one client in a multi threaded environment. The complexity of business tier processes and the need for accurate code re-use has always lead me to write server side code in Java. I would not consider using Java script because it is aimed at a different usage.
That being said I do use Java script at the server for replicating client side validation scripts for example. That way you can use the one piece of validation code at both ends. The user gets responsive browser validation but the back end re-validates in case someone bypasses the front end validation.