Creating the Application.cfm page
275
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
Chapter 14, “Handling Errors,”
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
Chapter 16, “Securing Applications,” on page 345
.
<!--- 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="[email protected]">
<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>
Содержание ColdFusion MX
Страница 1: ...Developing ColdFusion MX Applications...
Страница 22: ...22 Contents...
Страница 38: ......
Страница 52: ...52 Chapter 2 Elements of CFML...
Страница 162: ......
Страница 218: ...218 Chapter 10 Writing and Calling User Defined Functions...
Страница 250: ...250 Chapter 11 Building and Using ColdFusion Components...
Страница 264: ...264 Chapter 12 Building Custom CFXAPI Tags...
Страница 266: ......
Страница 314: ...314 Chapter 14 Handling Errors...
Страница 344: ...344 Chapter 15 Using Persistent Data and Locking...
Страница 349: ...About user security 349...
Страница 357: ...Security scenarios 357...
Страница 370: ...370 Chapter 16 Securing Applications...
Страница 388: ...388 Chapter 17 Developing Globalized Applications...
Страница 408: ...408 Chapter 18 Debugging and Troubleshooting Applications...
Страница 410: ......
Страница 426: ...426 Chapter 19 Introduction to Databases and SQL...
Страница 476: ...476 Chapter 22 Using Query of Queries...
Страница 534: ...534 Chapter 24 Building a Search Interface...
Страница 556: ...556 Chapter 25 Using Verity Search Expressions...
Страница 558: ......
Страница 582: ...582 Chapter 26 Retrieving and Formatting Data...
Страница 668: ......
Страница 734: ...734 Chapter 32 Using Web Services...
Страница 760: ...760 Chapter 33 Integrating J2EE and Java Elements in CFML Applications...
Страница 786: ...786 Chapter 34 Integrating COM and CORBA Objects in CFML Applications...
Страница 788: ......
Страница 806: ...806 Chapter 35 Sending and Receiving E Mail...