Server-side apps are also limited in terms of the developer time available to work on them. A verbose, underpowered language like Java won't get you the programmer productivity you'd get from a real functional language like a lisp or an ML, or their hairier descendents Perl, Ruby, etc..
Server-side Java is less obviously a bad idea than client-side Java, because it's easier to upgrade the server hardware than it is to upgrade all your clients.
But server-side Java is still a bad idea.
Well, it's good for Sun and IBM I guess, since they're selling all that new hardware.
Some people claim that Java is a reasonable tool for having hordes of semi-literate mediocre programmers write buggy business software. That its lack of power and expressiveness is comforting to the unskilled, and makes it harder for them to shoot themselves in the foot. As such, it could be considered as an improvement over VB, I suppose.