There are a significant number of web hosting providers that support PHP or .NET, but I am continually surprised at how few support Java EE, or even basic JSPs.
Some providers also then offer a shared tomcat version which is then only reloaded once a day for changes to deployed apps, which is definitely not ideal if you want to rapidly release a new application.
There are definitely valid reasons for why some languages are supported and others aren’t. In the case of Java it is probably due to the fact there is no safe way (as far as I know) to deploy code into a share VM and it is probably significantly more resource intensive (particularly with what remains in memory). This then drives a higher price point which is often not appropriate for the hobbyist just tinkering with a site.
Google App Engine’s support for Java is definitely a welcome addition, although therefore are many other languages out there that are likely to more commonly used if a significant number of bulk web hosting providers supported them.
I know that I have decided what to develop in based on what the web hosting providers offer at a competitive price. It is worth considering where you are planning to host your site, whether you intend to use a slice of a machine up front, and understanding the constraints before you go too far down a particular path.