You can also use the Application.cfm page to develop more sophisticated application-wide error-
handling techniques, including error-handling methods that provide specific messages or use
structured error-handling techniques.
For more information on error pages and error handling, see
on page
285.
Example: an Application.cfm page
The following example shows a sample Application.cfm file that uses several of the techniques
typically used in Application.cfm pages. For the sake of simplicity, it does not show login
processing; for a login example, see
<!--- Set application name and enable Client and Session variables --->
<cfapplication name="Products"
clientmanagement="Yes"
clientstorage="myCompany"
sessionmanagement="Yes">
<!--- Set page processing attributes --->
<cfsetting showDebugOutput="No" >
<!--- Set custom global error handling pages for this application--->
<cferror type="request"
template="requesterr.cfm"
mailto="admin@company.com">
<cferror type="validation"
template="validationerr.cfm">
<!--- Set the Application variables if they aren't defined. --->
<!--- Initialize local app_is_initialized flag to false --->
<cfset app_is_initialized = False>
<!--- Get a readonly lock --->
<cflock scope="application" type="readonly" timeout=10>
<!--- Read init flag and store it in local variable --->
<cfset app_is_initialized = IsDefined("Application.initialized")>
</cflock>
<!--- Check the local flag --->
<cfif not app_is_initialized >
<!--- Application variables are Not initialized yet.
Get an exclusive lock to write scope --->
<cflock scope="application" type="exclusive" timeout=10>
<!--- Check the Application scope initialized flag since another request
could
have set the variables after this page released the read-only lock. --->
<cfif not IsDefined("Application.initialized") >
<!--- Do initializations --->
<cfset Application.ReadOnlyData.Company = "MyCompany" >
<!--- and so on --->
<!--- Set the Application scope initialization flag --->
<cfset Application.initialized = "yes">
</cfif>
</cflock>
</cfif>
<!--- Set a Session variable.--->
<cflock timeout="20" scope="Session" type="exclusive">
<cfif not IsDefined("session.pagesHit")>
<cfset session.pagesHit=1>
<cfelse>
Chapter 16, "Securing Applications," on page
Chapter 14, "Handling Errors,"
Creating the Application.cfm page
345.
275
Need help?
Do you have a question about the COLDFUSION MX 61-DEVELOPING COLDFUSION MX and is the answer not in the manual?
Questions and answers