...
When it receives a request, the TapestryFilter obtains the HttpServletRequestHandler service, and invokes its service() method.
From Tapestry 5.7.0 on, you can use TapestryFilter from org.apache.tapestry5.http instead of org.apache.tapestry5 if you want to use Tapestry's request processing framework (tapestry-http package) without the page framework (which is in tapestry-core).
HttpServletRequestHandler Pipeline
This pipeline performs initial processing of the request. It can be extended by contributing a HttpServletRequestFilter into the HttpServletRequestHandler service's configuration.
...
- It stores the request and response into the RequestGlobals service. This is a per-thread scoped service that stores per-thread/per-request information.
- It wraps the request and response as a Request and Response, and passes them into the RequestHandler pipeline.
RequestHandler Pipeline
...
The terminator for this pipeline stores the Request and the Response into RequestGlobals, then requests that the MasterDispatcher service figure out how to handle the request (if it is, indeed, a Tapestry request).
...
The MasterDispatcher service is a chain-of-command, aggregating together (in a specific order), several Dispatcher objects. Each Dispatcher is built to recognize and process a particular kind of URL.
The dispatchers below are not present if you're using tapestry-http without tapestry-core.
RootPath Dispatcher
The RootPath Dispatcher recognizes a request for the application root (i.e., "/") and handles this the same as a render request for the "Start" page. Support for the Start page is kept for legacy purposes. Index pages are the correct approach.
...
The following diagram provides an overview of how the different pipelines, filters and dispatchers interact when processing an incoming request.
Scrollbar |
---|