It's not that java is more scalable, it's not that .net is nicer to use or whater. It's all about deployment choice.
If the black-shirted team in charge of the network do't want to manage Microsoft Servers, then you can't use .NET. If they're happy running Windows 2003 whatever, then you can.
You on the other hand, if you write your
J2EE APP properly, you can deploy it to any J2EE container running on any platform.
Then, there's the issue of reliability and uptime. All my Unix-style servers have uptimes measured in the 100's of days. Think of what happens every patch tuesday on Windows.
An apocryphal story (who knows if it's true, it probably is) follows. Let's say you're a world renowned paid-for-by-taxpayers news agency, with lots of staff in the field at any given time, running laptops submitting their news stories. The absolutely last thing you want to do, is for when these guys in the field connect back to the domain to submit their (UNSAVED of course) story is to download a couple of so-called-critical patches and automatically reboot their laptops. (Whether or not this is the fault of the Group Policy is moot, just imagine the utter chaos that ensued)