Brad Cox (inventor of Objective-C, the main language OS X applications are written in) is building Java Web Applications now. In this article he is complaining about the way most web application servers still treat pages as files. (see JSP)
Jim has addressed the page issue here.
What I thought was interesting was this quote: The WebObjects Way goes something link this: the link (WOHyperlink) is created visually in WebObjects Builder (visual page interface builder). Then the developer sets (in the tool) the "pageName" binding on the link to "theNextPage" (via a drop-down list of all available pages in the project). Done! WO takes care of figuring out how to make the link for you.
"The servlet for the application publishes a public final static SomeClass instance variable via which other pages reference the singleton instance of each page of the application. When a page needs to emit an link to another page (the arrows in the figure), it calls SomeClass. instance. emitLink(ctx). To emit a <form> command, it calls SomeClass. instance. emitForm(ctx) instead."