The project I am working on has implemented the JSP model 2 architecture
and we are now grappling with a vexing issue related to it.
We use a central "controller" servlet to handle all incoming
requests and route them to the appropriate JSP (using
RequestDispatcher.forward()) based on the session context and the form
data submitted with each request. (We are running on WebLogic Server 5.1
and using the WLS plug-in on the iPlanet Web Server)

However, this means that from the web server's (and browser's) point of
view, every page of our application has the same URI (e.g. "/XYZ").
The problem is that our web server log is used to generate
usage reports, but there's no page-level usage being recorded for the app.
since all entries in the log simply point to /XYZ.

We've looked at "URL re-writing" but that doesn't help since it relies
on embedding the re-written URL in the links in the page body and we
don't know the final destination of any given link until it's been
processed by the controller servlet. We need a way for a given JSP to
somehow "set" it's URI (e.g. "/XYZ?pageID=x.jsp") as part of the *response*
that's sent to the browser so that it can be tracked (if that's even
possible) at the web server. We haven't been able to find a solution
running general searches on the Web and were wondering if anybody here has
run into this issue, and if so what, if anything, you figured out to do
about it.