| |
Introduction |
| |
Introduction to ColdFusion MX |
| |
|
About Internet applications and web application servers |
| |
|
|
About web pages and Internet applications |
| |
|
|
About web application servers |
| |
|
|
|
How a web server and web application server work together |
| |
|
About ColdFusion MX |
| |
|
|
The ColdFusion scripting environment |
| |
|
|
ColdFusion Markup Language |
| |
|
|
|
CFML tags |
| |
|
|
|
CFML functions and CFScript |
| |
|
|
|
CFML extensions |
| |
|
|
|
CFML development tools |
| |
|
|
|
Server-side ActionScript |
| |
|
|
ColdFusion application services |
| |
|
|
ColdFusion MX Administrator |
| |
|
Using ColdFusion MX with Macromedia Flash MX |
| |
|
About J2EE and the ColdFusion architecture |
| |
|
|
About ColdFusion MX and the J2EE platform |
| |
|
ColdFusion features described in this book |
| |
Elements of CFML |
| |
|
Introduction |
| |
|
Character case |
| |
|
Tags |
| |
|
|
Tag syntax |
| |
|
|
Built-in tags |
| |
|
|
Custom tags |
| |
|
Functions |
| |
|
|
Built-in functions |
| |
|
|
User-defined functions |
| |
|
Expressions |
| |
|
Constants |
| |
|
Variables |
| |
|
|
Variable scopes |
| |
|
Data types |
| |
|
ColdFusion components |
| |
|
CFScript |
| |
|
Flow control |
| |
|
|
cfif, cfelseif, and cfelse |
| |
|
|
cfswitch, cfcase, and cfdefaultcase |
| |
|
|
cfloop and cfbreak |
| |
|
|
|
cfloop |
| |
|
|
|
cfbreak |
| |
|
|
cfabort and cfexit |
| |
|
Comments |
| |
|
Special characters |
| |
|
Reserved words |
| |
Using ColdFusion Variables |
| |
|
Creating variables |
| |
|
|
Variable naming rules |
| |
|
Variable characteristics |
| |
|
Data types |
| |
|
|
Numbers |
| |
|
|
|
Integers |
| |
|
|
|
Real numbers |
| |
|
Strings |
| |
|
|
Boolean values |
| |
|
|
Date-Time values |
| |
|
|
|
Date and time formats |
| |
|
|
|
Locale-specific dates and times |
| |
|
|
|
How ColdFusion stores dates and times |
| |
|
|
Binary data type and Base64 encoding |
| |
|
|
Complex data types |
| |
|
|
|
Arrays |
| |
|
|
|
Structures |
| |
|
|
|
Queries |
| |
|
|
|
Working with structures and queries |
| |
|
Using periods in variable references |
| |
|
|
Understanding variables and periods |
| |
|
|
|
Getting a variable |
| |
|
|
|
Setting a variable |
| |
|
|
Creating variables with periods |
| |
|
|
|
Using brackets to create variables with periods |
| |
|
|
|
Creating Client and Cookie variables with periods |
| |
|
Data type conversion |
| |
|
|
Operation-driven evaluation |
| |
|
|
Conversion between types |
| |
|
|
|
Type conversion considerations |
| |
|
|
Evaluation and type conversion issues |
| |
|
|
Examples of type conversion in expression evaluation |
| |
|
About scopes |
| |
|
|
Scope types |
| |
|
|
Creating and using variables in scopes |
| |
|
|
Using scopes |
| |
|
|
|
Evaluating unscoped variables |
| |
|
|
|
Scopes and CFX tags |
| |
|
|
|
Using scopes as structures |
| |
|
|
|
Using the This scope outside CFCs (advanced topic) |
| |
|
Ensuring variable existence |
| |
|
|
Testing for a variable's existence |
| |
|
|
Using the cfparam tag |
| |
|
|
|
Example: testing for variables |
| |
|
|
|
Example: setting default values |
| |
|
Validating data types |
| |
|
|
Using the cfparam tag to validate the data type |
| |
|
Passing variables to custom tags and UDFs |
| |
|
|
Passing variables to CFML tags and UDFs |
| |
|
|
Passing variables to CFX tags |
| |
Using Expressions and Pound Signs |
| |
|
Expressions |
| |
|
|
Operator types |
| |
|
|
|
Arithmetic operators |
| |
|
|
|
Boolean operators |
| |
|
|
|
Decision operators |
| |
|
|
|
String operators |
| |
|
|
Operator precedence and evaluation ordering |
| |
|
|
Using functions as operators |
| |
|
|
|
Function syntax |
| |
|
|
|
Optional function arguments |
| |
|
|
|
Expression evaluation and functions |
| |
|
Using pound signs |
| |
|
|
Using pound signs in ColdFusion tag attribute values |
| |
|
|
Using pound signs in tag bodies |
| |
|
|
Using pound signs in strings |
| |
|
|
Nested pound signs |
| |
|
|
Using pound signs in expressions |
| |
|
Dynamic expressions and dynamic variables |
| |
|
|
About dynamic variables |
| |
|
|
About dynamic expressions and dynamic evaluation |
| |
|
|
|
Selecting how to create variable names |
| |
|
|
Dynamic variable naming without dynamic evaluation |
| |
|
|
|
Using pound signs to construct a variable name in assignments |
| |
|
|
|
Dynamically constructing structure references |
| |
|
|
Using dynamic evaluation |
| |
|
|
|
ColdFusion dynamic evaluation functions |
| |
|
|
|
Function argument evaluation considerations |
| |
|
|
|
About the Evaluate function |
| |
|
|
|
Avoiding the Evaluate function |
| |
|
|
|
SetVariable function considerations |
| |
|
|
Using the IIF function |
| |
|
|
Example: a dynamic shopping cart |
| |
Using Arrays and Structures |
| |
|
About arrays |
| |
|
|
Basic array concepts |
| |
|
|
About ColdFusion arrays |
| |
|
Basic array techniques |
| |
|
|
Referencing array elements |
| |
|
|
Creating arrays |
| |
|
|
|
Creating complex multidimensional arrays |
| |
|
|
Adding elements to an array |
| |
|
|
|
Adding an array element by assignment |
| |
|
|
|
Adding an array element with a function |
| |
|
|
Deleting elements from an array |
| |
|
|
Copying arrays |
| |
|
Populating arrays with data |
| |
|
|
Populating an array with the ArraySet function |
| |
|
|
Populating an array with the cfloop tag |
| |
|
|
|
Using nested loops for 2D and 3D arrays |
| |
|
|
Populating an array from a query |
| |
|
Array functions |
| |
|
About structures |
| |
|
|
Structure notation |
| |
|
|
Referencing complex structures |
| |
|
Creating and using structures |
| |
|
|
Creating structures |
| |
|
|
|
Creating structures by assigning values |
| |
|
|
|
Creating structures using a function |
| |
|
|
Adding data elements to structures |
| |
|
|
Updating values in structures |
| |
|
|
Getting information about structures and keys |
| |
|
|
|
Getting information about structures |
| |
|
|
|
Finding a specific key and its value |
| |
|
|
|
Getting a list of keys in a structure |
| |
|
|
Copying structures |
| |
|
|
Deleting structure elements and structures |
| |
|
|
Looping through structures |
| |
|
Structure example |
| |
|
|
|
Example file newemployee.cfm |
| |
|
|
|
Example file addemployee.cfm |
| |
|
Structure functions |
| |
Extending ColdFusion Pages with CFML Scripting |
| |
|
About CFScript |
| |
|
|
Comparing tags and CFScript |
| |
|
The CFScript language |
| |
|
|
Identifying CFScript |
| |
|
|
Variables |
| |
|
|
Expressions and operators |
| |
|
|
Statements |
| |
|
|
Statement blocks |
| |
|
|
Comments |
| |
|
|
Reserved words |
| |
|
|
Differences from JavaScript |
| |
|
|
CFScript limitation |
| |
|
|
CFScript functional equivalents to ColdFusion tags |
| |
|
Using CFScript statements |
| |
|
|
Using assignment statements and functions |
| |
|
|
Using conditional processing statements |
| |
|
|
|
Using if and else statements |
| |
|
|
|
Using switch and case statements |
| |
|
|
Using looping statements |
| |
|
|
|
Using for loops |
| |
|
|
|
Using while loops |
| |
|
|
|
Using do-while loops |
| |
|
|
|
using for-in loops |
| |
|
|
|
Using continue and break statements |
| |
|
Handling exceptions |
| |
|
|
|
Exception handling syntax and rules |
| |
|
|
|
Exception handling example |
| |
|
CFScript example |
| |
Using Regular Expressions in Functions |
| |
|
About regular expressions |
| |
|
|
Using ColdFusion regular expression functions |
| |
|
|
Basic regular expression syntax |
| |
|
Regular expression syntax |
| |
|
|
Using character sets |
| |
|
|
|
Considerations when using special characters |
| |
|
|
Finding repeating characters |
| |
|
|
Case sensitivity in regular expressions |
| |
|
|
Using subexpressions |
| |
|
|
Using special characters |
| |
|
|
Using escape sequences |
| |
|
|
Using character classes |
| |
|
Using backreferences |
| |
|
|
Using backreferences in replacement strings |
| |
|
|
|
Using backreferences to perform case conversions in replacement strings |
| |
|
|
|
Escaping special characters in replacement strings |
| |
|
|
Omitting subexpressions from backreferences |
| |
|
Returning matched subexpressions |
| |
|
|
Specifying minimal matching |
| |
|
Regular expression examples |
| |
|
|
Regular expressions in CFML |
| |
|
Types of regular expression technologies |
| |
Reusing Code in ColdFusion Pages |
| |
|
About reusable CFML elements |
| |
|
Including pages with the cfinclude tag |
| |
|
|
Using the cfinclude tag |
| |
|
|
Recommended uses |
| |
|
Calling user-defined functions |
| |
|
|
Calling UDFs |
| |
|
|
Recommended uses |
| |
|
|
For more information |
| |
|
Using custom CFML tags |
| |
|
|
Calling custom CFML tags |
| |
|
|
Recommended uses |
| |
|
|
For more information |
| |
|
Using CFX tags |
| |
|
|
Calling CFX tags |
| |
|
|
Recommended uses |
| |
|
|
For more information |
| |
|
Using ColdFusion components |
| |
|
|
Creating and using ColdFusion components |
| |
|
|
Recommended uses |
| |
|
|
For more information |
| |
|
Selecting among ColdFusion code reuse methods |
| |
Creating and Using Custom CFML Tags |
| |
|
Creating custom tags |
| |
|
|
Creating and calling custom tags |
| |
|
|
|
Storing custom tag pages |
| |
|
|
|
Calling custom tags using the cfmodule tag |
| |
|
|
|
Calling custom tags using the cfimport tag |
| |
|
|
Securing custom tags |
| |
|
|
Accessing existing custom tags |
| |
|
Passing data to custom tags |
| |
|
|
Passing values to and from custom tags |
| |
|
|
Using tag attributes summary |
| |
|
|
Custom tag example with attributes |
| |
|
|
Passing custom tag attributes using CFML structures |
| |
|
Managing custom tags |
| |
|
|
Securing custom tags |
| |
|
|
Encoding custom tags |
| |
|
Executing custom tags |
| |
|
|
Accessing tag instance data |
| |
|
|
Handling end tags |
| |
|
|
|
Determining if an end tag is specified |
| |
|
|
|
Determining the tag execution mode |
| |
|
|
|
Considerations when using end tags |
| |
|
|
Processing body text |
| |
|
|
Terminating tag execution |
| |
|
Nesting custom tags |
| |
|
|
Passing data between nested custom tags |
| |
|
|
|
What data is accessible? |
| |
|
|
Variable scopes and special variables |
| |
|
|
|
Where is data accessible? |
| |
|
|
High-level data exchange |
| |
|
|
|
Ancestor data access |
| |
|
|
|
Example: ancestor data access |
| |
Writing and Calling User-Defined Functions |
| |
|
About user-defined functions |
| |
|
Calling user-defined functions |
| |
|
Creating user-defined functions |
| |
|
|
Creating functions using CFScript |
| |
|
|
Creating functions using tags |
| |
|
|
Rules for function definitions |
| |
|
|
|
About the Arguments scope |
| |
|
|
|
Function-only variables |
| |
|
|
|
Good argument naming practice |
| |
|
|
Defining functions in CFScript |
| |
|
|
|
CFScript function definition syntax |
| |
|
|
|
A simple CFScript example |
| |
|
|
|
Using the Arguments scope in CFScript |
| |
|
|
Defining functions using the cffunction tag |
| |
|
|
|
The cffunction tag function definition format |
| |
|
|
|
Using a CFML tag in a user-defined function |
| |
|
|
|
Using the Arguments scope in cffunction definitions |
| |
|
Calling functions and using variables |
| |
|
|
Passing arguments |
| |
|
|
Referencing caller variables |
| |
|
|
Using function-only variables |
| |
|
|
Using arguments |
| |
|
A User-defined function example |
| |
|
|
Defining the function using CFScript |
| |
|
|
Defining the function using the cffunction tag |
| |
|
Using UDFs effectively |
| |
|
|
Using Application.cfm and function include files |
| |
|
|
Specifying the scope of a function |
| |
|
|
|
About functions and scopes |
| |
|
|
|
Selecting a function scope |
| |
|
|
|
Using the Request scope |
| |
|
|
Using the Request scope for static variables and constants |
| |
|
|
Using function names as function arguments |
| |
|
|
Handling query results using UDFs |
| |
|
|
Identifying and checking for UDFs |
| |
|
|
Using the Evaluate function |
| |
|
|
Passing complex data |
| |
|
|
|
Passing structures, queries, and objects |
| |
|
|
|
Passing arrays |
| |
|
|
Using recursion |
| |
|
|
Handling errors in UDFs |
| |
|
|
|
Displaying error messages |
| |
|
|
|
Providing status information |
| |
|
|
|
Using exceptions |
| |
Building and Using ColdFusion Components |
| |
|
About ColdFusion components |
| |
|
|
Basic component concepts |
| |
|
|
|
What CFCs are |
| |
|
|
|
CFCs and object-oriented programming |
| |
|
|
|
When to use CFCs |
| |
|
|
ColdFusion component features and use |
| |
|
|
|
Tags and functions for creating and using CFCs |
| |
|
|
|
Elements of a CFC |
| |
|
|
|
CFC invocation and instantiation |
| |
|
Using ColdFusion components |
| |
|
|
|
Specifying the CFC location |
| |
|
|
Instantiating CFCs |
| |
|
|
CFC invocation techniques |
| |
|
|
Invoking CFC methods with the cfinvoke tag |
| |
|
|
|
Invoking component methods transiently using the cfinvoke tag |
| |
|
|
|
Invoking methods of a CFC instance |
| |
|
|
|
Using cfinvoke within the CFC definition |
| |
|
|
|
Passing parameters to methods using cfinvoke |
| |
|
|
|
Invoking methods using dynamic method names |
| |
|
|
Using components directly in CFScript and CFML |
| |
|
|
|
Invoking component methods directly |
| |
|
|
|
Passing parameters in direct method invocations |
| |
|
|
Invoking CFC methods using forms and URLs |
| |
|
|
|
Invoking component methods using a URL |
| |
|
|
|
Invoking component methods using a form |
| |
|
|
Accessing CFCs from outside ColdFusion and basic HTML |
| |
|
|
|
Using Flash Remoting MX |
| |
|
|
Invoking components as web services |
| |
|
|
Introspection: getting information about components |
| |
|
|
|
Requesting a component page from the browser |
| |
|
|
|
Using the ColdFusion component browser |
| |
|
|
|
Using Dreamweaver |
| |
|
|
|
Using the GetMetaData function |
| |
|
Building ColdFusion components |
| |
|
|
Initializing instance data |
| |
|
|
Defining component methods |
| |
|
|
|
Putting method executable code in a separate file |
| |
|
|
|
Defining and using method parameters |
| |
|
|
Providing results |
| |
|
|
|
Displaying output |
| |
|
|
|
Returning a results variable |
| |
|
|
|
Documenting CFCs |
| |
|
|
|
Saving and naming ColdFusion components |
| |
|
|
CFC variables |
| |
|
|
|
The This scope |
| |
|
|
|
The Variables scope |
| |
|
|
|
The Arguments scope |
| |
|
|
|
Function local variables |
| |
|
|
|
Other variable scopes |
| |
|
|
Structuring and reusing code |
| |
|
|
|
Using inheritance and the Super keyword |
| |
|
|
|
Using component packages |
| |
|
|
|
Using CFCs in persistent scopes |
| |
|
|
Building secure ColdFusion components |
| |
|
|
|
Using access security |
| |
|
|
|
Using role-based security |
| |
Building Custom CFXAPI Tags |
| |
|
What are CFX tags? |
| |
|
Before you begin developing CFX tags in Java |
| |
|
|
Sample Java CFX tags |
| |
|
|
Setting up your development environment to develop CFX tags in Java |
| |
|
|
|
Configuring the classpath |
| |
|
|
Customizing and configuring Java |
| |
|
Writing a Java CFX tag |
| |
|
|
Calling the CFX tag from a ColdFusion page |
| |
|
|
Processing requests |
| |
|
|
|
Request object |
| |
|
|
|
Response object |
| |
|
|
|
Query object |
| |
|
|
Loading Java CFX classes |
| |
|
|
Automatic class reloading |
| |
|
|
Life cycle of Java CFX tags |
| |
|
ZipBrowser example |
| |
|
Approaches to debugging Java CFX tags |
| |
|
|
Outputting debugging information |
| |
|
|
Debugging in a Java IDE |
| |
|
|
Using the debugging classes |
| |
|
|
|
Debugging classes example |
| |
|
Developing CFX tags in C++ |
| |
|
|
Sample C++ CFX tags |
| |
|
|
Setting up your C++ development environment |
| |
|
|
Compiling C++ CFX tags |
| |
|
|
Locating your C++ library files on UNIX |
| |
|
|
Implementing C++ CFX tags |
| |
|
|
Debugging C++ CFX tags |
| |
|
|
|
Debugging on Windows |
| |
|
|
Registering CFX tags |
| |
Designing and Optimizing a ColdFusion Application |
| |
|
About applications |
| |
|
Elements of a ColdFusion application |
| |
|
|
The application framework |
| |
|
|
Application-level settings and functions |
| |
|
|
Reusable application elements |
| |
|
|
Shared variables |
| |
|
|
Application security and user identification |
| |
|
Mapping an application |
| |
|
|
Processing the Application.cfm and OnRequestEnd.cfm pages |
| |
|
|
|
Processing the Application.cfm page |
| |
|
|
|
Processing the OnRequestEnd.cfm page |
| |
|
|
Defining the directory structure |
| |
|
Creating the Application.cfm page |
| |
|
|
Naming the application |
| |
|
|
Setting the client, application, and session variables options |
| |
|
|
Defining page processing settings |
| |
|
|
Setting application default variables and constants |
| |
|
|
Processing logins |
| |
|
|
Handling errors |
| |
|
|
Example: an Application.cfm page |
| |
|
Optimizing ColdFusion applications |
| |
|
|
Caching ColdFusion pages that change infrequently |
| |
|
|
|
Using the cfcache tag |
| |
|
|
|
Flushing cached pages |
| |
|
|
Caching parts of ColdFusion pages |
| |
|
|
Optimizing database use |
| |
|
|
|
Using stored procedures |
| |
|
|
|
Using the cfquery tag cachedWithin attribute |
| |
|
|
Providing visual feedback to the user |
| |
Handling Errors |
| |
|
About error handling in ColdFusion |
| |
|
Understanding errors |
| |
|
|
About error causes and recovery |
| |
|
|
ColdFusion error types |
| |
|
|
About ColdFusion exceptions |
| |
|
|
|
When exceptions occur |
| |
|
|
|
ColdFusion exception types |
| |
|
|
How ColdFusion handles errors |
| |
|
|
|
Missing template errors |
| |
|
|
|
Form field validation errors |
| |
|
|
|
Compiler exception errors |
| |
|
|
|
Runtime exception errors |
| |
|
Error messages and the standard error format |
| |
|
Determining error-handling strategies |
| |
|
|
Handling missing template errors |
| |
|
|
Handling form field validation errors |
| |
|
|
Handling compiler exceptions |
| |
|
|
Handling runtime exceptions |
| |
|
Specifying custom error messages with cferror |
| |
|
|
Specifying a custom error page |
| |
|
|
Creating an error application page |
| |
|
|
|
Example of a request error page |
| |
|
|
|
Example of a validation error page |
| |
|
Logging errors with the cflog tag |
| |
|
Handling runtime exceptions with ColdFusion tags |
| |
|
|
Exception-handling tags |
| |
|
|
Using cftry and cfcatch tags |
| |
|
|
|
Try/catch code structure |
| |
|
|
|
Try/catch code rules and recommendations |
| |
|
|
|
Exception information in cfcatch blocks |
| |
|
|
Using cftry: an example |
| |
|
|
Using the cfthrow tag |
| |
|
|
|
Catching and displaying thrown errors |
| |
|
|
|
Custom error type name hierarchy |
| |
|
|
|
When to use cfthrow |
| |
|
|
Using the cfrethrow tag |
| |
|
|
|
The cfrethrow tag syntax |
| |
|
|
Example: using nested tags, cfthrow, and cfrethrow |
| |
Using Persistent Data and Locking |
| |
|
About persistent scope variables |
| |
|
|
ColdFusion persistent variables and ColdFusion structures |
| |
|
|
ColdFusion persistent variable issues |
| |
|
|
|
Using variables in clustered systems |
| |
|
|
|
Locking memory variables |
| |
|
Managing the client state |
| |
|
|
About client and session variables |
| |
|
|
Maintaining client identity |
| |
|
|
|
About client identifiers |
| |
|
|
|
Using client and session variables without cookies |
| |
|
|
|
Client identifiers and security |
| |
|
|
|
Managing client identity information in a clustered environment |
| |
|
Configuring and using client variables |
| |
|
|
Enabling client variables |
| |
|
|
|
Choosing a client variable storage method |
| |
|
|
|
Specifying client variable storage in the Application.cfm file |
| |
|
|
Using client variables |
| |
|
|
|
Creating a client variable |
| |
|
|
|
Accessing and changing client variables |
| |
|
|
|
Standard client variables |
| |
|
|
|
Getting a list of client variables |
| |
|
|
|
Deleting client variables |
| |
|
|
|
Using client variables with cflocation |
| |
|
|
|
Caching client variable |
| |
|
|
|
Exporting the client variable database |
| |
|
Configuring and using session variables |
| |
|
|
What is a session? |
| |
|
|
|
ColdFusion and J2EE session management |
| |
|
|
Configuring and enabling session variables |
| |
|
|
|
Selecting and enabling session variables in ColdFusion MX Administrator |
| |
|
|
|
Enabling session variables in your application |
| |
|
|
Storing session data in session variables |
| |
|
|
Standard session variables |
| |
|
|
Getting a list of session variables |
| |
|
|
Creating and deleting session variables |
| |
|
|
Accessing and changing session variables |
| |
|
|
Ending a session |
| |
|
Configuring and using application variables |
| |
|
|
Configuring and enabling application variables |
| |
|
|
Storing application data in application variables |
| |
|
|
Using application variables |
| |
|
Using server variables |
| |
|
Locking code with cflock |
| |
|
|
Sample locking scenarios |
| |
|
|
Using the cflock tag with write-once variables |
| |
|
|
Using the cflock tag |
| |
|
|
|
Lock types |
| |
|
|
|
Lock scopes and names |
| |
|
|
|
Controlling and minimizing lock time-outs |
| |
|
|
Considering lock granularity |
| |
|
|
Nesting locks and avoiding deadlocks |
| |
|
|
|
Copying shared variables into the Request scope |
| |
|
|
|
Locking application variables efficiently |
| |
|
Examples of cflock |
| |
|
|
|
Example with application, server, and session variables |
| |
|
|
|
Example of synchronizing access to a file system |
| |
|
|
|
Example of protecting ColdFusion extensions |
| |
Securing Applications |
| |
|
ColdFusion security features |
| |
|
About resource and sandbox security |
| |
|
|
Resource control |
| |
|
|
Sandbox security |
| |
|
About user security |
| |
|
|
Authenticating users |
| |
|
|
|
About web server authentication |
| |
|
|
|
About application authentication |
| |
|
|
|
ColdFusion authentication storage and persistence |
| |
|
|
|
Using ColdFusion security without cookies |
| |
|
Using ColdFusion security tags and functions |
| |
|
|
Using the cflogin tag |
| |
|
|
|
Login identification scope and the applicationToken attribute |
| |
|
|
|
Specifying the internet domain |
| |
|
|
Getting the user ID and password |
| |
|
|
Logging a user in using Flash Remoting |
| |
|
|
Logging users out |
| |
|
Security scenarios |
| |
|
|
A web server authentication security scenario |
| |
|
|
An application authentication security scenario |
| |
|
Implementing user security |
| |
|
|
Web-server-based authentication user security example |
| |
|
|
|
Example: Application.cfm |
| |
|
|
|
Example: securitytest.cfm |
| |
|
|
Application-based user security example |
| |
|
|
|
Example: Application.cfm |
| |
|
|
|
Example: loginform.cfm |
| |
|
|
|
Example: securitytest.cfm |
| |
|
|
Using an LDAP Directory for security information |
| |
Developing Globalized Applications |
| |
|
Introduction to globalization |
| |
|
|
Defining globalization |
| |
|
|
Importance of globalization in ColdFusion applications |
| |
|
|
How ColdFusion MX supports globalization |
| |
|
|
Character sets, character encodings, and locales |
| |
|
About character encodings |
| |
|
|
The Java Unicode character encoding |
| |
|
|
Character encoding conversion issues |
| |
|
Locales |
| |
|
|
Setting the locale |
| |
|
|
Using the locale |
| |
|
Processing a request in ColdFusion |
| |
|
|
Determining the character encoding of a ColdFusion page |
| |
|
|
Determining the page encoding of server output |
| |
|
Tags and functions for globalizing |
| |
|
|
Tags and functions for controlling character encoding |
| |
|
|
Functions for controlling and using locales |
| |
|
|
Additional globalization tags and functions |
| |
|
Handling data in ColdFusion MX |
| |
|
|
General character encoding issues |
| |
|
|
Locale-specific content |
| |
|
|
|
Generating multi-locale content |
| |
|
|
|
Supporting the euro |
| |
|
|
Input data from URLs and HTML forms |
| |
|
|
|
Handling URL strings |
| |
|
|
|
Handling form data |
| |
|
|
File data |
| |
|
|
Databases |
| |
|
|
E-mail |
| |
|
|
HTTP |
| |
|
|
LDAP |
| |
|
|
WDDX |
| |
|
|
COM |
| |
|
|
CORBA |
| |
|
|
Searching and indexing |
| |
Debugging and Troubleshooting Applications |
| |
|
Configuring debugging in the ColdFusion MX Administrator |
| |
|
|
Debugging Settings page |
| |
|
|
Debugging IP addresses page |
| |
|
Using debugging information from browser pages |
| |
|
|
General debugging information |
| |
|
|
Execution Time |
| |
|
|
|
Summary execution time format |
| |
|
|
|
Tree execution time format |
| |
|
|
Database Activity |
| |
|
|
|
SQL Queries |
| |
|
|
|
Stored Procedures |
| |
|
|
Exceptions |
| |
|
|
Trace points |
| |
|
|
Scope variables |
| |
|
|
Using the dockable.cfm output format |
| |
|
|
|
Application page selections |
| |
|
|
|
Debug pane features |
| |
|
Controlling debugging information in CFML |
| |
|
|
Generating debugging information for an individual query |
| |
|
|
Controlling debugging output with the cfsetting tag |
| |
|
|
Using the IsDebugMode function to run code selectively |
| |
|
Using the cftrace tag to trace execution |
| |
|
|
About the cftrace tag |
| |
|
|
Using tracing |
| |
|
|
Calling the cftrace tag |
| |
|
Using the Code Compatibility Analyzer |
| |
|
Troubleshooting common problems |
| |
|
|
CFML syntax errors |
| |
|
|
Data source access and queries |
| |
|
|
HTTP/URL |
| |
Introduction to Databases and SQL |
| |
|
What is a database? |
| |
|
|
Using multiple database tables |
| |
|
|
Database permissions |
| |
|
|
Commits, rollbacks, and transactions |
| |
|
|
Database design guidelines |
| |
|
Using SQL |
| |
|
|
SQL example |
| |
|
|
Basic SQL syntax elements |
| |
|
|
|
Statements |
| |
|
|
|
Statement clauses |
| |
|
|
|
Operators |
| |
|
|
|
Case sensitivity with databases |
| |
|
|
|
SQL notes and considerations |
| |
|
|
Reading data from a database |
| |
|
|
|
Results of a SELECT statement |
| |
|
|
|
Filtering results |
| |
|
|
|
Sorting results |
| |
|
|
|
Returning a subset of columns |
| |
|
|
|
Using column aliases |
| |
|
|
|
Accessing multiple tables |
| |
|
|
Modifying a database |
| |
|
|
|
Inserting data into a database |
| |
|
|
|
Updating data in a database |
| |
|
|
|
Deleting data from a database |
| |
|
|
|
Updating multiple tables |
| |
|
Writing queries using an editor |
| |
|
|
Writing queries using Dreamweaver MX |
| |
|
|
Writing queries using Macromedia HomeSite+ |
| |
|
|
|
The SQL Builder interface |
| |
|
|
|
Writing SQL statements |
| |
Accessing and Retrieving Data |
| |
|
Working with dynamic data |
| |
|
Retrieving data |
| |
|
|
The cfquery tag |
| |
|
|
The cfquery tag syntax |
| |
|
|
Building queries |
| |
|
Outputting query data |
| |
|
|
Query output notes and considerations |
| |
|
Getting information about query results |
| |
|
|
Query variable notes and considerations |
| |
|
Enhancing security with cfqueryparam |
| |
|
|
About query string parameters |
| |
|
|
Using cfqueryparam |
| |
|
|
|
Using cfqueryparam with strings |
| |
|
|
|
Using cfSqlType |
| |
Updating Your Database |
| |
|
About updating your dataSbase |
| |
|
Inserting data |
| |
|
|
Creating an HTML insert form |
| |
|
|
Data entry form notes and considerations |
| |
|
|
Creating an action page to insert data |
| |
|
|
|
Creating an insert action page with cfinsert |
| |
|
|
|
Creating an insert action page with cfquery |
| |
|
|
|
Inserting into specific fields |
| |
|
Updating data |
| |
|
|
Creating an update form |
| |
|
|
Creating an action page to update data |
| |
|
|
|
Creating an update action page with cfupdate |
| |
|
|
|
Creating an update action page with cfquery |
| |
|
Deleting data |
| |
|
|
Deleting a single record |
| |
|
|
Deleting multiple records |
| |
Using Query of Queries |
| |
|
About record sets |
| |
|
|
Referencing queries as objects |
| |
|
|
Creating a record set |
| |
|
|
Creating a record set with a function |
| |
|
About Query of Queries |
| |
|
|
Benefits of Query of Queries |
| |
|
|
Performing a Query of Queries |
| |
|
|
|
Displaying record set data incrementally |
| |
|
|
|
Using the cfdump tag with query results |
| |
|
|
|
Using Query of Queries with non-SQL record sets |
| |
|
Query of Queries user guide |
| |
|
|
Using dot notation |
| |
|
|
Using joins |
| |
|
|
Using unions |
| |
|
|
|
Using aliases for column names |
| |
|
|
|
Duplicate rows and multiple tables |
| |
|
|
|
Parentheses and evaluation order |
| |
|
|
|
Using other keywords with UNION |
| |
|
|
Using conditional operators |
| |
|
|
|
Test conditional |
| |
|
|
|
Null conditional |
| |
|
|
|
Comparison conditional |
| |
|
|
|
Between conditional |
| |
|
|
|
IN conditional |
| |
|
|
|
LIKE conditional |
| |
|
|
|
Case sensitivity |
| |
|
|
|
Escaping wildcards |
| |
|
|
Using aggregate functions |
| |
|
|
|
Arbitrary expressions in aggregate functions |
| |
|
|
|
Aggregate functions in arbitrary expressions |
| |
|
|
Using group by and having expressions |
| |
|
|
Using ORDER BY clauses |
| |
|
|
Using aliases |
| |
|
|
Handling null values |
| |
|
|
Escaping reserved keywords |
| |
|
|
Using Queries of Queries with numeric dates |
| |
|
|
Understanding Query of Queries performance |
| |
|
BNF for Query of Queries |
| |
Managing LDAP Directories |
| |
|
About LDAP |
| |
|
The LDAP information structure |
| |
|
|
Entry |
| |
|
|
Attribute |
| |
|
|
Distinguished name (DN) |
| |
|
|
Schema |
| |
|
|
|
Object class |
| |
|
|
|
Attribute type |
| |
|
Using LDAP with ColdFusion |
| |
|
Querying an LDAP directory |
| |
|
|
Scope |
| |
|
|
Search filter |
| |
|
|
Getting all the attributes of an entry |
| |
|
|
Example: querying an LDAP directory |
| |
|
Updating an LDAP directory |
| |
|
|
Adding a directory entry |
| |
|
|
Deleting a directory entry |
| |
|
|
Updating a directory entry |
| |
|
|
Adding and deleting attributes of a directory entry |
| |
|
|
Changing a directory entry's DN |
| |
|
Advanced topics |
| |
|
|
Specifying an attribute that includes a comma or semicolon |
| |
|
|
Using cfldap output |
| |
|
|
Viewing a directory schema |
| |
|
|
Referrals |
| |
|
|
Managing LDAP security |
| |
|
|
|
Server security |
| |
|
|
|
Application security |
| |
Building a Search Interface |
| |
|
About Verity |
| |
|
|
Using Verity with ColdFusion |
| |
|
|
Advantages of using Verity |
| |
|
|
Supported file types |
| |
|
|
Support for international languages |
| |
|
Creating a search tool for ColdFusion applications |
| |
|
|
Creating a collection with the ColdFusion MX Administrator |
| |
|
|
About indexing a collection |
| |
|
|
|
Updating an index |
| |
|
|
Indexing and building a search interface with the Verity Wizard |
| |
|
|
Creating a ColdFusion search tool programmatically |
| |
|
|
|
Creating a collection with the cfcollection tag |
| |
|
|
|
Indexing a collection using the cfindex tag |
| |
|
|
|
Indexing a collection with the ColdFusion MX Administrator |
| |
|
Using the cfsearch tag |
| |
|
Working with record sets |
| |
|
|
Indexing database record sets |
| |
|
|
Indexing cfldap query results |
| |
|
|
Indexing cfpop query results |
| |
|
|
Using database-directed indexing |
| |
Using Verity Search Expressions |
| |
|
About Verity query types |
| |
|
Using simple queries |
| |
|
|
Stemming in simple queries |
| |
|
|
Preventing stemming |
| |
|
Using explicit queries |
| |
|
|
Using AND, OR, and NOT |
| |
|
|
Using wildcards and special characters |
| |
|
|
|
Searching with wildcards |
| |
|
|
|
Searching for special characters |
| |
|
Composing search expressions |
| |
|
|
Case sensitivity |
| |
|
|
Prefix and infix notation |
| |
|
|
Commas in expressions |
| |
|
|
Precedence rules |
| |
|
|
Delimiters in expressions |
| |
|
|
Operators and modifiers |
| |
|
|
|
Operators |
| |
|
|
|
Modifiers |
| |
|
Refining your searches with zones and fields |
| |
|
|
|
Zone searches |
| |
|
|
|
Field searches |
| |
Retrieving and Formatting Data |
| |
|
Using forms to specify the data to retrieve |
| |
|
|
HTML form tag syntax |
| |
|
|
Form controls |
| |
|
|
Form notes and considerations |
| |
|
Working with action pages |
| |
|
|
Processing form variables on action pages |
| |
|
|
Dynamically generating SQL statements |
| |
|
|
Creating action pages |
| |
|
|
Testing for a variable's existence |
| |
|
|
Requiring users to enter values in form fields |
| |
|
|
Form variable notes and considerations |
| |
|
Working with queries and data |
| |
|
|
Using HTML tables to display query results |
| |
|
|
Formatting individual data items |
| |
|
|
Building flexible search interfaces |
| |
|
Returning results to the user |
| |
|
|
Handling no query results |
| |
|
|
Returning results incrementally |
| |
|
Dynamically populating list boxes |
| |
|
Creating dynamic check boxes and multiple-selection list boxes |
| |
|
|
Check boxes |
| |
|
|
|
Handling numeric values |
| |
|
|
|
Handling string values |
| |
|
|
Multiple selection lists |
| |
|
|
|
Handling numeric values |
| |
|
|
|
Handling string values |
| |
|
Validating form field data types |
| |
Building Dynamic Forms |
| |
|
Creating forms with the cfform tag |
| |
|
|
Using HTML and cfform |
| |
|
|
The cfform controls |
| |
|
|
Preserving input data with preservedata |
| |
|
|
|
Usage notes for the preservedata attribute |
| |
|
|
Browser considerations |
| |
|
Building tree controls with cftree |
| |
|
|
Grouping output from a query |
| |
|
|
The cftree form variables |
| |
|
|
Input validation |
| |
|
|
Structuring tree controls |
| |
|
|
|
Creating a one-level tree control |
| |
|
|
|
Creating a multilevel tree control |
| |
|
|
Image names in a cftree |
| |
|
|
Embedding URLs in a cftree |
| |
|
|
|
Reviewing the code |
| |
|
|
Specifying the tree item in the URL |
| |
|
Building drop-down list boxes |
| |
|
Building text input boxes |
| |
|
Building slider bar controls |
| |
|
Creating data grids with cfgrid |
| |
|
|
Working with a data grid and entering data |
| |
|
|
Creating an editable grid |
| |
|
|
|
Controlling cell contents |
| |
|
|
|
How user edits are returned |
| |
|
|
|
Editing data in cfgrid |
| |
|
|
|
Updating the database with cfgridupdate |
| |
|
|
|
Updating the database with cfquery |
| |
|
Embedding Java applets |
| |
|
|
Registering a Java applet |
| |
|
|
|
Applet registration fields |
| |
|
|
Using cfapplet to embed an applet |
| |
|
|
|
Overriding alignment and positioning values |
| |
|
|
|
Overriding parameter values |
| |
|
|
Handling form variables from an applet |
| |
|
Input validation with cfform controls |
| |
|
|
Validating with regular expressions |
| |
|
|
|
Special characters |
| |
|
|
|
Single-character regular expressions |
| |
|
|
|
Multicharacter regular expressions |
| |
|
|
|
Backreferences |
| |
|
|
|
Exact and partial matches |
| |
|
|
|
Expression examples |
| |
|
Input validation with JavaScript |
| |
|
|
Handling failed validation |
| |
|
|
Example: validating an e-mail address |
| |
Charting and Graphing Data |
| |
|
Creating a chart |
| |
|
|
Chart types |
| |
|
|
Creating a basic chart |
| |
|
Administering charts |
| |
|
Charting data |
| |
|
|
Charting a query |
| |
|
|
Charting individual data points |
| |
|
|
Combining a query and data points |
| |
|
|
Charting multiple data collections |
| |
|
|
Writing a chart to a variable |
| |
|
Controlling chart appearance |
| |
|
|
Common chart characteristics |
| |
|
|
Setting x-axis and y-axis characteristics |
| |
|
|
Creating a bar chart |
| |
|
|
Setting pie chart characteristics |
| |
|
|
Creating an area chart |
| |
|
|
Setting curve chart characteristics |
| |
|
Linking charts to URLs |
| |
|
|
Dynamically linking from a pie chart |
| |
|
|
Linking to JavaScript from a pie chart |
| |
Using the Flash Remoting Service |
| |
|
About using the Flash Remoting service with ColdFusion |
| |
|
|
Planning your Flash application |
| |
|
Using the Flash Remoting service with ColdFusion pages |
| |
|
|
|
Accessing parameters passed from Flash |
| |
|
|
|
Returning results to Flash |
| |
|
|
|
Returning records in increments to Flash |
| |
|
Using Flash with ColdFusion components |
| |
|
|
|
Using component metadata with the Flash Remoting service |
| |
|
Using the Flash Remoting service with server-side ActionScript |
| |
|
Using the Flash Remoting service with ColdFusion Java objects |
| |
|
Handling errors with ColdFusion and Flash |
| |
Using Server-Side ActionScript |
| |
|
About server-side ActionScript |
| |
|
|
Client-side ActionScript requirements |
| |
|
|
Server-side requirements |
| |
|
|
Software requirements |
| |
|
|
Location of server-side ActionScript files |
| |
|
|
Benefits |
| |
|
|
What to do next |
| |
|
Connecting to the Flash Remoting service |
| |
|
Using server-side ActionScript functions |
| |
|
|
Using the function results in ActionScript |
| |
|
|
|
Using results returned by the CF.query function |
| |
|
|
|
Using results returned by the CF.http function |
| |
|
Global and request scope objects |
| |
|
About the Cf.query function and data sources |
| |
|
|
Publishing dynamic data |
| |
|
|
About ColdFusion MX data sources |
| |
|
Using the CF.query function |
| |
|
|
About CF.query function syntax |
| |
|
|
|
Using CF.query named argument syntax |
| |
|
|
|
Using CF.query positional argument syntax |
| |
|
|
About the CF.query record set |
| |
|
Building a simple application |
| |
|
|
Writing the server-side ActionScript function |
| |
|
|
Creating the Flash movie interface |
| |
|
|
Submitting user data to the Flash Remoting service |
| |
|
|
Capturing Flash Remoting service results |
| |
|
|
Checking for a Flash Remoting service connection |
| |
|
About the CF.http function |
| |
|
Using the CF.http function |
| |
|
|
Referencing HTTP Post parameters in the CF.http function |
| |
|
|
Using the CF.http Post method |
| |
|
|
Using the CF.http Get method |
| |
Using XML and WDDX |
| |
|
About XML and ColdFusion |
| |
|
The XML document object |
| |
|
|
A simple XML document |
| |
|
|
Basic view |
| |
|
|
DOM node view |
| |
|
|
XML document structures |
| |
|
|
|
The document object structure |
| |
|
|
|
The element structure |
| |
|
|
|
XML DOM node structure |
| |
|
ColdFusion XML tag and functions |
| |
|
Using an XML object |
| |
|
|
Referencing the contents of an XML object |
| |
|
|
Assigning data to an XML object |
| |
|
|
|
Referencing the last element on the left side of an expression |
| |
|
|
|
Assigning and retrieving CDATA values |
| |
|
Creating and saving an XML document object |
| |
|
|
Creating a new XML document object using the cfxml tag |
| |
|
|
Creating a new XML document object using the XmlNew function |
| |
|
|
Creating an XML document object from existing XML |
| |
|
|
Saving and exporting an XML document object |
| |
|
Modifying a ColdFusion XML object |
| |
|
|
Functions for XML object management |
| |
|
|
Treating elements with the same name as an array |
| |
|
|
XML document object management reference |
| |
|
|
Adding, deleting, and modifying XML elements |
| |
|
|
|
Counting and finding the position of child elements |
| |
|
|
|
Adding an element |
| |
|
|
|
Deleting elements |
| |
|
|
|
Adding, changing, and deleting element attributes |
| |
|
|
|
Changing element properties |
| |
|
|
|
Replacing or moving an element |
| |
|
|
Using XML and ColdFusion queries |
| |
|
|
|
Converting XML to a ColdFusion query |
| |
|
|
|
Converting a query object to XML |
| |
|
Transforming documents with XSLT |
| |
|
Extracting data with XPath |
| |
|
Example: using XML in a ColdFusion application |
| |
|
Moving complex data across the web with WDDX |
| |
|
|
Uses of WDDX |
| |
|
|
|
Exchanging data across application servers |
| |
|
|
|
Transferring data between the server and browser |
| |
|
|
|
WDDX and web services |
| |
|
|
How WDDX works |
| |
|
|
|
WDDX data type support |
| |
|
|
|
Time zone processing |
| |
|
Using WDDX |
| |
|
|
Using the cfwddx tag |
| |
|
|
Validating WDDX data |
| |
|
|
Using JavaScript objects |
| |
|
|
Converting CFML data to a JavaScript object |
| |
|
|
Transferring data from the browser to the server |
| |
|
|
Storing complex data in a string |
| |
Using Web Services |
| |
|
Web services |
| |
|
|
Accessing a web service |
| |
|
|
Basic web service concepts |
| |
|
|
|
Supporting web services with SOAP |
| |
|
|
|
Describing web services with WSDL |
| |
|
|
|
Finding web services with UDDI |
| |
|
Working with WSDL files |
| |
|
|
Creating a WSDL file |
| |
|
|
Viewing a WSDL file using Dreamweaver MX |
| |
|
|
Reading a WSDL file |
| |
|
Consuming web services |
| |
|
|
About the examples in this section |
| |
|
|
Passing parameters to a web service |
| |
|
|
Handling return values from a web service |
| |
|
|
Using cfinvoke to consume a web service |
| |
|
|
Using CFScript to consume a web service |
| |
|
|
Consuming web services that are not generated by ColdFusion MX |
| |
|
|
Calling web services from a Flash client |
| |
|
|
Catching errors when consuming web services |
| |
|
|
Handling inout and out parameters |
| |
|
|
Configuring web services in the ColdFusion MX Administrator |
| |
|
|
Data conversions between ColdFusion and WSDL data types |
| |
|
|
Consuming ColdFusion web services |
| |
|
Publishing web services |
| |
|
|
Creating components for web services |
| |
|
|
Specifying data types of function arguments and return values |
| |
|
|
Producing WSDL files |
| |
|
|
Using ColdFusion components to define data types for web services |
| |
|
|
Securing your web services |
| |
|
|
|
Controlling access to component CFC files |
| |
|
|
|
Using your web server to control access |
| |
|
|
|
Using ColdFusion to control access |
| |
|
|
|
Assigning security roles to functions |
| |
|
|
|
Using programmatic security |
| |
|
|
Best practices for publishing web services |
| |
|
Handling complex data types |
| |
|
|
Consuming web services that use complex data types |
| |
|
|
|
Passing input parameters to web services as complex types |
| |
|
|
|
Handling return values as complex types |
| |
|
|
Publishing web services that use complex data types |
| |
|
|
|
Publishing structures |
| |
|
|
|
Publishing queries |
| |
Integrating J2EE and Java Elements in CFML Applications |
| |
|
About ColdFusion, Java, and J2EE |
| |
|
|
About ColdFusion and client-side JavaScript and applets |
| |
|
|
About ColdFusion and JSP |
| |
|
|
About ColdFusion and Servlets |
| |
|
|
About ColdFusion and Java objects |
| |
|
|
|
About class loading |
| |
|
|
|
About GetPageContext and the PageContext object. |
| |
|
|
About CFML variables and Java variables |
| |
|
Using JSP tags and tag libraries |
| |
|
|
Using a JSP tag in a ColdFusion page |
| |
|
|
|
Standard JSP tags and ColdFusion |
| |
|
|
|
Using custom JSP tags in a ColdFusion page |
| |
|
|
Example: using the random tag library |
| |
|
Interoperating with JSP pages and servlets |
| |
|
|
Integrating JSP and servlets in a ColdFusion application |
| |
|
|
|
Accessing a JSP page or servlet from a ColdFusion page |
| |
|
|
|
Sharing data between ColdFusion pages and JSP pages or servlets |
| |
|
|
Examples: using JSP with CFML |
| |
|
|
|
Calling a JSP page from a ColdFusion page |
| |
|
|
|
Calling a ColdFusion page from a JSP page |
| |
|
Using Java objects |
| |
|
|
Using basic object techniques |
| |
|
|
|
Invoking objects |
| |
|
|
|
Using properties |
| |
|
|
|
Calling methods |
| |
|
|
|
Calling JavaBean get and set methods |
| |
|
|
|
Calling nested objects |
| |
|
|
Creating and using a simple Java class |
| |
|
|
|
The Employee class |
| |
|
|
|
A CFML page that uses the Employee class |
| |
|
|
|
Java considerations |
| |
|
|
|
Using an alternate constructor |
| |
|
|
Java and ColdFusion data type conversions |
| |
|
|
|
Default data type conversion |
| |
|
|
|
Resolving ambiguous data types with the JavaCast function |
| |
|
|
Handling Java exceptions |
| |
|
|
|
Example: exception-throwing class |
| |
|
|
|
Example: CFML Java exception handling code |
| |
|
|
Examples: using Java with CFML |
| |
|
|
|
Using a Java API in a UDF |
| |
|
|
|
Using an EJB |
| |
|
|
|
Using a custom Java class |
| |
Integrating COM and CORBA Objects in CFML Applications |
| |
|
About COM and CORBA |
| |
|
|
About objects |
| |
|
|
About COM and DCOM |
| |
|
|
About CORBA |
| |
|
Creating and using objects |
| |
|
|
Creating objects |
| |
|
|
Using properties |
| |
|
|
Calling methods |
| |
|
|
Calling nested objects |
| |
|
Getting started with COM and DCOM |
| |
|
|
COM Requirements |
| |
|
|
Registering the object |
| |
|
|
Finding the component ProgID and methods |
| |
|
|
|
Using the cfdump tag to view COM object interfaces |
| |
|
|
|
Using the OLE/COM Object Viewer |
| |
|
Creating and using COM objects |
| |
|
|
Connecting to COM objects |
| |
|
|
Setting properties and invoking methods |
| |
|
|
|
Releasing COM objects |
| |
|
|
General COM object considerations |
| |
|
|
|
Ensuring correct threading |
| |
|
|
|
Using input and output arguments |
| |
|
|
|
Understanding common COM-related error messages |
| |
|
|
Accessing Complex COM Objects using Java proxies |
| |
|
|
Using the Application Scope to improve COM performance |
| |
|
|
|
Example 1: Using the FileSystem object |
| |
|
|
|
Example 2: Using the Microsoft Word application object |
| |
|
Getting started with CORBA |
| |
|
Creating and using CORBA objects |
| |
|
|
Creating CORBA objects |
| |
|
|
|
Using a naming service |
| |
|
|
Using CORBA objects in ColdFusion |
| |
|
|
|
Using CORBA interface methods in ColdFusion |
| |
|
|
|
Using IDL types with ColdFusion variables |
| |
|
|
Handling exceptions |
| |
|
CORBA example |
| |
Sending and Receiving E-Mail |
| |
|
Using ColdFusion with mail servers |
| |
|
Sending e-mail messages |
| |
|
|
Sending SMTP e-mail with cfmail |
| |
|
Sample uses of cfmail |
| |
|
|
Sending form-based e-mail |
| |
|
|
Sending query-based e-mail |
| |
|
|
Sending e-mail to multiple recipients |
| |
|
Customizing e-mail for multiple recipients |
| |
|
Using cfmailparam |
| |
|
|
Attaching files to a message |
| |
|
|
Adding a custom header to a message |
| |
|
Advanced sending options |
| |
|
|
Sending mail as HTML |
| |
|
|
Error logging and undelivered messages |
| |
|
Receiving e-mail messages |
| |
|
|
Using cfpop |
| |
|
|
The cfpop query variables |
| |
|
Handling POP mail |
| |
|
|
|
Retrieving only message headers |
| |
|
|
|
Retrieving a message |
| |
|
|
|
Retrieving a message and its attachments |
| |
|
|
|
Deleting messages |
| |
Interacting with Remote Servers |
| |
|
About interacting with remote servers |
| |
|
Using cfhttp to interact with the web |
| |
|
|
Using the cfhttp Get method |
| |
|
Creating a query object from a text file |
| |
|
Using the cfhttp Post method |
| |
|
Performing file operations with cfftp |
| |
|
|
Caching connections across multiple pages |
| |
|
|
|
Example: caching a connection |
| |
|
|
Connection actions and attributes |
| |
Managing Files on the Server |
| |
|
About file management |
| |
|
Using cffile |
| |
|
|
Uploading files |
| |
|
|
|
Resolving conflicting filenames |
| |
|
|
|
Controlling the type of file uploaded |
| |
|
|
|
Setting file and directory attributes |
| |
|
|
|
Evaluating the results of a file upload |
| |
|
|
Moving, renaming, copying, and deleting server files |
| |
|
|
Reading, writing, and appending to a text file |
| |
|
|
|
Reading a text file |
| |
|
|
|
Writing a text file on the server |
| |
|
|
|
Appending a text file |
| |
|
Using cfdirectory |
| |
|
|
Returning file information |
| |
|
Using cfcontent |
| |
|
|
About MIME types |
| |
|
|
Changing the MIME content type with cfcontent |