If you’ve worked with Java before, the content of the hello-world sample app shown above may have surprised you. There is no “application container” in the J2EE sense; the app uses Jetty as an embedded webserver, just as one might use Unicorn for Ruby or Tornado for Python, or Jetty itself for Clojure.
The capabilities promised by J2EE application containers for managing your app include deployment, restart, logging, service binding (config), and clustering (horizontal scaling). Running your Java app on Heroku, you achieve these ends via the platform instead.
Great news. There is also a link to a working JRuby example (even though JRuby is not officially supported yet).