A request processed by an application server follows this path. The process described here assumes that you configured your Web application to use PageFilter and DynamoProxyServlet as demonstrated in atg_bootstrap.war.

When a user performs an action that prompts a response, the application server creates an instance of the HttpServletRequest and HttpServletResponse. Based on the directories and file extension of the requestURI, the application server uses servlet and filter mappings defined in web.xml to determine the next resource to call.

By default, PageFilter is mapped to handle JSP requests. When the application server invokes PageFilter, it checks the request and response for a reference to a Dynamo request and response pair. The pair does not exist, so PageFilter starts the DAF servlet pipeline by calling DynamoHandler, the first servlet in the pipeline. The DAF servlet pipeline processes through a series of servlets that modify the request and response by extracting path information and providing session, user, and security information. The last servlet in the pipeline is TailPipelineServlet. It is responsible for calling FilterChain.doFilter(), which invokes the next filter defined in web.xml. The web application, unless it uses ATG Portal, does not include other servlet filters by default.

As specified in web.xml, a call for a page in the dyn directory, which holds all JHTML pages, causes the application server to invoke DynamoProxyServlet, the resource responsible for starting the DAS servlet pipeline by calling DynamoHandler. The DAS servlet pipeline performs the same request and response-handling tasks as the DAF servlet pipeline. One task common to both pipelines is the compiling of JHTML pages by PageCompileServlet, one of the servlets in the pipeline.

By default, no filters are involved in request-handling process; if you create custom servlet filters, they are invoked before DynamoProxyServlet. For more information on how to implement J2EE servlets and filters in an ATG Web application, see the Accessing Nucleus in a Web Application chapter in this guide.

loading table of contents...