The original design of this file was to be used with the CFAPPLICATION but it has uses beyond that. This file is called before the requesting template at the start of any request.

This is a standard template that has no special formatting except it must be named observing the case. For example application.cfm is not the same.

You can place anything you wish inside of this file, including any content that will produce output, as this will be rendered to the client. If you do not wish this then place all your logic inside a CFSILENT tag. Traditionally this is where you would place your call to CFAPPLICATION to setup the application scope for this application.

This template is considered the same as any other template, so any output will be sent to the client as well as any errors. If this template errors, then the request will stop. You may also call CFABORT within this tag which will stop the requesting template from being executed, without necessarily indicating an error to the client.

This template is very useful for security provisioning, as it can't be bypassed by the client request no matter what template they request.


When each request comes in, the engine looks for the Application.cfm in the same directory as the requesting template. If the file is not found, then it will continue back up the parent directory stack until it finds one. As soon as it finds one, it will be rendered.

This is a very powerful feature, as it allows you to have one top-level Applciation.cfm managing setup and security, with all subdirectories utilizing that same one.