You can expect lots of different answers for this one.
In a large J2EE app the entire
servlet app is generally considered the presentation layer. Written correctly,
you should also be able to use the business and persistance layers with a Swing (or other) presentation layer.
Well written servlet apps will also be broken up into the three MVC tiers (Model, View, Controller).
The lines between tiers are not always etched in stone.
In the majority of large business apps I've seen, the bulk of the business logic is written with stored procedures in the database. With AJAX taking off, we can expect these lines to get even fuzzier.
I just sat through a demo for a RAD product implemented almost entirely in VBScript executed in the browser. The webserver is nothing more than a conduit for passing AJAX calls back to the database where all the business logic is written stored procedures (2 tiers). The product was very slick.