Request Handling
As very briefly described in the MVC section, a Woof! application
processes a client request as follows:
- A request
object is created that encapsulates the received request with request
parameters, cookies and other attributes extracted.
- A response
object is created
to hold the response to be sent back to the client, including the
page content, cookies, and HTTP headers.
- A session
context of the request
is retrieved with a new session being created if no context is
associated with the request.
- The URL received in the client request is
mapped to an appropriate
controller
class and method (action).
- The method is invoked to carry out the client request.
- If the action method did not itself generate the page content,
the default page rendering code is
invoked to locate and process a suitable page template.
- The response and page content is sent back to the client.
The rest of this chapter describes this process in detail except
for the generation of page content which is described in the
Page Generation chapter.