Já osobně mám zkušenosti s velkými aplikacemi na MS .Net přes MVC framework (v C#, ale ve Visual Basicu to prý jde taky

) a veskrze dobré. Pokud ale nemáš windowsový server, pustil bych to k vodě, má-li to být velká aplikace (Monu prostě v produkčním nasazení nevěřím, ale možná je to iracionální, nevím - je to víc jak rok, co jsme tuto možnost ve firmě zvažovali a zavrhli).
Jinak jak tu někdo psal - prasárny napíšeš v Javě stejně jako v PHP. Ale opět, pro velkou aplikačku bych nešel do interpretovaného jazyka. Řešením toho, že interpret PHPčka prostě nestíhal a přepisováním "bottlenecků" do Cčka jsem strávil nejeden velmi dlouhý pracovní den. A věta "kvůli velkému počtu požadavků za sekundu" by Tě od těchto jazyků měla odradit úplně, neb ani Python ani PHP (nevím jak Ruby, ale taky asi ne) nemají rozumnou práci s vlákny (každé vlákno, přestože se tváří, že běží paralelně, si zamkne interpret a všechna ostatní vlákna jsou zmražená, po chvíli se zmrazí a předá řízení jinému vláknu atp, hledej pojmy "Green threads" a "Global Interpreter Lock" .. green threads jsou dostatečná pro GUI, kde běží výpočet na pozadí a zároveň má být přístupné tlačítko "Cancel"; ale pro tohle fakt ne).
Zde z rozumných možností zbývá nějaký dobrý javový framework. Chceš-li dobré grafické rozhraní, jdi do Vaadinu nebo Google App Engine. Chceš-li jednoduchost (a dobrou křivku učení), tak Apache Wicket. Rozhodně neplatí, že "Javu se budeš učit půl roku a nic z toho" - je to jen o tom, že strávíš dva dny nad tím, že si projdeš různé možnosti a knihovny. Každý si najde to své.
Pokud jsi naštvaný na ukecanost Javy (řekněte jim prosím někdo, že je rok 2011 a ne 2001 ;-) ), tak můžeš ksicht napsat pomocí mnou jmenovaných frameworků a pro backend (volání WS, ukládání do databáze apod) použít jiný jazyk, např Scala (javová syntax, hybridní jazyk, dá se použít i jako "neukecaná Java" i když jeho hlavní síla je jinde) nebo Clojure (lispová syntax, čistě funkcionální jazyk, dají se s ním dělat "paralelní divy" a to velmi snadno).