Those Hudson classes are bound to URLs by using Stapler. The singleton
Hudson instance is bound to the "/" URL, and the rest of the objects are bound accordinglyaccording to their reachability from this root object.
For example, there's the
Hudson.getJob(String) method. So the URL
/job/foo/ will be bound to the object returned by
Hudson.getJob("foo") (which would be a
Project object that corresponds to the "foo" project. See stapler documentation for more about how it binds Java object model to a URL hierarchy.