Steve demoed WebObjects and this Dodge virtual showroom at a Microsoft Conference in 96: https://www.youtube.com/watch?v=goNXogpwvAk
How well did that work out in practice? Did WebObjects make heavy use of server-side in-memory sessions (which would require sticky sessions in a modern load-balanced setup)? Could it do things like registering event handlers to let you submit data back to the server or even go to another part of the app without having to know about URLs and HTML forms?
Initially it was Objective-C classes not Java.
Web Objects was later ported to Java and then it did generate Java classes.