I believe that one of the reason is lack of good web-applications framework for quick development. There is nothing like django or rails, so if you need to have non-trivial application created in minimum time java is not the best platform.
In case when your team consists of plenty different skill level developers java is much safer platform.
Performance of the application and hosting is not a problem.
Hosting of java application usually is much easier than everything else and performance of jvm very good comparing to other platforms.
The problem with frameworks like Play, or Symfony in PHP world is that they only play catchup to frameworks like ROR and Django and since they started way later, they still lack the polish.
Or alternatively, they learn from the problems of older frameworks, and can bring a fresh approach without having to worry so much about backward compatibility.
Why is this a problem? They will tend to choose to implement only the best practices. For example my (I'll admit biased) experience with play framework was better than with RoR and with Django.
ColdFusion is not associated with fun development, may be I'm wrong, but for me it is associated with plenty of config xmls and other enterpricy stuff.
Been using CF for 10 years, Java for 5. CF is a great bridge from the functionality and performance of Java with the ease and natural fit of a loosely typed language when building for the web.
CF and it's community is not the same beast it used to be, I would encourage you and others to take a second look.
Yep, Coldfusion is overly underestimated. It now supports script based syntax (similar to Java) and has a tonne of built-in useful functionality like Ehcache and more...