Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]
Полное содержание
Предисловие
Для кого написана эта книга
Структура книги
Благодарности
От издательства
Глава 1. Знакомство с ColdFusion
Что такое Allaire ColdFusion?
Архитектура ColdFusion
Подготовка ColdFusion к работе
Глава 2. Основы ColdFusion
- Первый шаг
- Сохранение шаблонов CFML
- Синтаксис тегов
- Комментарии
- Типы данных
Переменные
- Имена переменных
- Присваивание значений переменным
- Область видимости переменных
- Передача значений по умолчанию в теге CFPARAM
- Выражения
- Операторы
- Функции
- Вывод результатов вычислений
- Знаки # в выражениях
- Вложение знаков #
- Экранирование знаков #
- Условные команды
- Команды CFIF, CFELSEIF и CFELSE
- Конструкции CFSWITCH, CFCASE и CFDEFAULTCASE
- Функция IIF
- Циклы
- Индексные циклы
- Условные циклы
- Включение других шаблонов
Глава 3. Передача данных между шаблонами
- Передача параметров в URL
- Передача специальных символов
- Получение списка всех переменных URL
- Передача данных в формах
- Типы полей формы
- Скрытые поля форм
- Автоматическая проверка данных полей форм
- Ручная проверка данных форм
- Получение списка всех переменных формы
- Проверка на предмет наличия параметров
Глава 4. Основы работы с базами данных
- Настройка источников данных
- Создание источников данных в Администраторе ColdFusion
- Дополнительные ресурсы
- Тег CFQUERY
Краткий курс SQL
Выборка и вывод данных
- Создание базы данных
- Выборка данных
- Вывод результатов запроса
- Получение дополнительной информации о запросе
- Сортировка результатов
Группировка записей
Перебор результатов запроса
Форматирование данных
- Форматирование простого текста
- Форматирование кода HTML
- Форматирование числовых данных
- Форматирование денежных сумм
- Форматирование логических величин
- Форматирование даты и времени
Глава 5. Модификация баз данных
- Вставка записей
- Ввод данных на форме
- Сохранение данных в базе
- Обновление существующих записей
- Выбор обновляемой записи
- Динамическое заполнение формы при обновлении записи
- Обновление записи в базе данных
- Динамическое заполнение данными других элементов формы
- Удаление записей
- Удаление одной записи
- Удаление нескольких записей
- Запрос подтверждения перед удалением
Глава 6. Сложные типы данных
- Списки
- Цикл по списку
- Обработка списков
- Массивы
- Создание массивов
- Занесение данных в массив
- Операции с элементами массивов
- Структуры
- Создание структуры
- Занесение данных в структуры
- Перебор содержимого структуры
- Создание массива структур
- Операции со структурами
- Объекты запросов
Глава 7. Хранение информации состояния
- Настройка Web Application Framework
- Файл Application.cfm
- Файл OnRequestEnd.cfm
- Устойчивые переменные
- Блокировка
- Переменные приложения
- Клиентские переменные
- Cookie
- Сеансовые переменные
- Серверные переменные
- Перенаправление браузера
Пример
- Механизм Web Application Framework
- Главный шаблон
- Настройка
- Завершение сеанса
Глава 8. Безопасность
- Основные правила обеспечения безопасности
- Самостоятельная реализация безопасности
- Создание таблицы в базе данных
- Изменения в шаблоне Application.cfm
- Ввод данных и регистрация пользователей
- Аутентификация пользователей
- Защита других файлов
- Уровни доступа
- Встроенный механизм безопасности ColdFusion
- Администрирование механизма Advanced Security
- Настройка каталога пользователей
- Аутентификация
- Авторизация доступа к конкретным ресурсам
- Временное переключение контекста
Глава 9. Ошибки и обработка исключений
- Базовая обработка исключений
Обработка нестандартных прерываний
Повторное инициирование исключений
Обработка ошибок в Web Application Framework
- Ошибки при проверке форм
- Ошибки, вызванные обращениями к страницам
- Перехват конкретных исключений
- Мониторы
- Обработка ошибок на уровне сервера
- Обработка отсутствующих шаблонов
- Обработчик ошибок уровня сайта
Глава 10. Динамические элементы форм
- Объединение элементов форм HTML и CFML
Проверка данных
Основные элементы ввода
Ввод текста
Список
Ползунки
Таблицы
- Настройка столбцов таблицы
- Настройка строк таблицы
- Создание редактируемых таблиц
- Иерархические деревья
- Заполнение иерархического дерева данными
- Передача информации о выделении
- Рекурсивное построение дерева
- Нестандартные элементы
Элементы форм в версии 5.0
- Сохранение введенных данных
- Использование регулярных выражений JavaScript для проверки данных
- Таблицы
- Ползунки
- Деревья
Глава 11. Нетривиальные операции с базами данных
- Средства вывода
- Последовательный вывод данных
- Вывод подмножества записей
- Чередование цветов строк в таблицах HTML
- Многостолбцовый вывод
- Страничный просмотр записей
- Подавление пропусков
- Уточняющие запросы
Кэширование запросов
Нетривиальные аспекты SQL
- Динамическое построение команд SQL
- Создание и модификация таблиц
- Выборка уникальных значений
- Псевдонимы
- Скалярные функции
- Агрегатные функции
- Подзапросы
- Союзы
- Объединения
- CFSQL
Вызов хранимых процедур
- Тег CFSTOREDPROC
- Тег CFQUERY
- Обработка транзакций
Глава 12. Операции с файлами и каталогами
- Операции с каталогами
- Вывод содержимого каталога
- Создание каталога
- Переименование каталога
- Удаление каталога
- Операции с файлами
- Отправка файлов
- Переименование файлов
- Перемещение файлов
- Копирование файлов
- Удаление файлов
- Считывание текстовых файлов
- Считывание двоичных файлов
- Запись текстовых файлов
- Запись двоичных файлов
- Запись в конец текстового файла
- Выполнение операций FTP
- Подключение к удаленному серверу
- Закрытие подключения
- Операции с файлами и каталогами
Глава 13. Электронная почта
- Отправка электронной почты
- Отправка сообщений в формате HTML
- Отправка содержимого формы
- Отправка результатов запроса
- Группировка результатов запроса
- Рассылка персональных сообщений
- Отправка файловых вложений
- Передача дополнительной информации в заголовке
- Проблемы, возникающие с доставкой почты
Прием сообщений
- Прием заголовков сообщений
- Прием сообщений в целом
- Вложения
- Удаление сообщений
- Построение почтового клиента с web-интерфейсом
Глава 14. Взаимодействие с web-серверами
- Получение информации
- Сохранение информации в переменной
- Сохранение информации в файле
- Прием заголовочных данных HTTP
- Построение объектов запросов на основе текстовых файлов
- Передача параметров
- Анализ данных
Построение статических страниц HTML
Отправка информации
- Передача переменных формы
- Передача переменных URL
- Передача переменных CGI
- Передача cookie
- Передача файлов
- Рекомендации по применению тега CFHTTP
- Имена полей и разделенные текстовые файлы
- Аутентификация
Глава 15. Протокол LDAP
- Знакомство с LDAP
- Атрибуты LDAP
- Общедоступные серверы LDAP
- Получение информации из каталога LDAP
- Выполнение запроса к каталогу LDAP
- Получение схемы данных с сервера LDAP
- Модификация данных LDAP
- Создание записей
- Обновление записей
- Удаление записей
- Изменение отличительного имени
Глава 16. Поисковый интерфейс Verity
- Создание коллекций
- Создание коллекций в Администраторе ColdFusion
- Создание коллекций тегом CFCOLLECTION
- Заполнение коллекций
- Индексация файлов
- Индексация результатов запросов
- Поиск в коллекциях
- Построение поискового интерфейса
- Поисковый язык Verity
- Упрощенный поиск
- Стандартный поиск
- Создание интерфейса для расширенного поиска
- Обновление коллекций
- Создание новых записей в коллекциях
- Удаление записей из коллекции
- Сопровождение коллекций
- Оптимизация коллекций
- Восстановление коллекций
- Очистка коллекции
- Удаление коллекции
- Нетривиальные приемы
- Построение списка «верхней десятки»
- Нестандартные атрибуты
- Изменение атрибута SUMMARY
- Настройка фильтра XML в механизме Verity
- Одновременный поиск в коллекциях документов и баз данных
Глава 17. Регулярные выражения в ColdFusion
- Синтаксис регулярных выражений
- Специальные символы
- Символьные классы POSIX
- Поиск
Замена
Обратные ссылки
Полезные регулярные выражения
Входные данные
Тестирование регулярных выражений
Глава 18. Сценарии
- Основы синтаксиса CFScript
- Операции с переменными
- Комментарии
- Выполнение записи в выходной поток данных
Команды CFScript
- if/else
- Команда switch/case
- Циклы for
- Циклы for/in
- Циклы while
- Циклы do/while
- Выход из цикла
- Команда continue
- Пользовательские функции
- Определение пользовательских функций
- Вызов пользовательских функций
- Область видимости уровня функции
- Ошибки и обработка исключений
- Библиотеки функций
Глава 19. Нестандартные теги
- Общие сведения
- Область применения нестандартных тегов
- Нестандартные теги и CFINCLUDE
- Нестандартные теги и пользовательские функции
- Вызов нестандартных тегов
Передача данных
Возврат данных
- Предотвращение потенциальных конфликтов имен
- Возврат нескольких значений
- Проверка значений атрибутов и обработка ошибок
- Проверка обязательных атрибутов
- Необязательные атрибуты
- Проверка типов данных
- Ошибки и обработка исключений
- Объединение проверки с обработкой ошибок
- Нетривиальные приемы
- Вызов нестандартных тегов при помощи тега CMODULE
- Передача атрибутов в структуре
- Создание парных тегов
- Выполнение вложения нестандартных тегов
- Прерывание выполнения тега
- Защита тегов
Теги CFX
- Регистрация тегов CFX
- Вызов тегов CFX
- Дополнительные ресурсы
Глава 20. WDDX и обмен данными
- Знакомство с WDDX
- Возможности WDDX
- Обзор WDDX
- Формат пакетов WDDX
- Сериализация и десериализация данных
- Сериализация и десериализация простых типов
- Сериализация и десериализация сложных типов данных
- Сохранение пакетов WDDX
- Сохранение пакетов в текстовом файле
- Сохранение пакетов в базе данных
- WDDX и обмен данными между серверами
- Синхронизация средствами ColdFusion
- Обмен данными между сервером и браузером с использованием JavaScript
- Передача данных браузеру
- Передача данных из JavaScript в ColdFusion
Глава 21. Системный реестр
Считывание разделов и параметров реестра
Запись разделов и параметров
Удаление разделов и параметров
Глава 22. Планировщик ColdFusion
- Планирование задач в Администраторе ColdFusion
- Настройка Планировщика
- Создание задачи
- Ручной запуск задач
- Обновление и удаление задач
- Регистрация запланированных задач в журнале
- Планирование задач с помощью тега CFSCHEDULE
- Создание задач
- Обновление задач
- Удаление задачи
- Запуск задач
- Дополнительные соображения
Глава 23. Работа с внешними объектами
- Подключение к внешним объектам
- Взаимодействие с объектами COM
- Взаимодействие с объектами CORBA
- Взаимодействие с объектами Java
- Выполнение программ
Вызов сервлетов Java
Глава 24. Графики и диаграммы
Построение простого графика
Графическое представление результатов запроса
Графики с активными областями
Приложение А. Теги ColdFusion
- Классификация тегов по типу
Алфавитный список тегов
- CFABORT
- CFADMINSECURITY
- CFAPPLET
- CFAPPLICATION
- CFASSOCIATE
- CFAUTHENTICATE
- CFBREAK
- CFCACHE
- CFCASE
- CFCATCH
- CFCOL
- CFCOLLECTION
- CFCONTENT
- CFCOOKIE
- CFDEFAULTCASE
- CFDIRECTORY
- CFDUMP
- CFELSE
- CFELSEIF
- CFERROR
- CFEXECUTE
- CFEXIT
- CFFILE
- CFFLUSH
- CFFORM
- CFFTP
- CFGRAPH
- CFGRAPHDATA
- CFGRID
- CFGRIDCOLUMN
- CFGRIDROW
- CFGRIDUPDATE
- CFHEADER
- CFHTMLHEAD
- CFHTTP
- CFHTTPPARAM
- CFIF
- CFIMPERSONATE
- CFINCLUDE
- CFINDEX
- CFINPUT
- CFINSERT
- CFINTERNALDEBUG
- CFLDAP
- CFLOCATION
- CFLOCK
- CFLOG
- CFLOOP
- CFMAIL
- CFMAILPARAM
- CFMODULE
- CFNEWINTERNALADMINSECURITY
- CFNEWINTERNALREGISTRY
- CFOBJECT
- CFOBJECTCACHE
- CFOUTPUT
- CFPARAM
- CFPOP
- CFPROCESSINGDIRECTIVE
- CFPROCPARAM
- CFPROCRESULT
- CFQUERY
- CFQUERYPARAM
- CFREGISTRY
- CFREPORT
- CFRETHROW
- CFSAVECONTENT
- CFSCHEDULE
- CFSCRIPT
- CFSEARCH
- CFSELECT
- CFSERVLET
- CFSERVLETPARAM
- CFSET
- CFSETTING
- CFSILENT
- CFSLIDER
- CFSTOREDPROC
- CFSWITCH
- CFTABLE
- CFTEXTINPUT
- CFTHROW
- CFTRANSACTION
- CFTREE
- CFTREEITEM
- CFTRY
- CFUPDATE
- CFWDDX
Приложение Б. Функции ColdFusion
- Алфавитный указатель функций
- Abs
- ACos
- ArrayAppend
- ArrayAvg
- ArrayClear
- ArrayDeleteAt
- ArrayInsertAt
- ArrayIsEmpty
- ArrayLen
- ArrayMax
- ArrayMin
- ArrayNew
- ArrayPrepend
- ArrayResize
- ArraySet
- ArraySort
- ArraySum
- ArraySwap
- ArrayToList
- Asc
- Asin
- Atn
- AuthenticatedContext
- AuthenticatedUser
- BitAnd
- BitMaskClear
- BitMaskRead
- BitMaskSet
- BitNot
- BitOr
- BitSHLN
- BitSHRN
- BitXor
- Ceiling
- CFusion_DBConnections_Flush
- CFusion_Decrypt
- CFusion_Disable_DBConnections
- CFusion_Encrypt
- CFusion_GetODBCDSN
- CFusion_GetODBCINI
- CFusion_Settings_Refresh
- CFusion_VerifyMail
- CF_GetDataSourceUserName
- CF_IsColdFusionDataSource
- CF_SetDataSourcePassword
- CF_SetDataSourceUserName
- Chr
- CJustify
- Compare
- CompareNoCase
- Cos
- CreateDate
- CreateDateTime
- CreateObject
- CreateODBCDate
- CreateODBCDateTime
- CreateODBCTime
- CreateTime
- CreateTimeSpan
- CreateUUID
- DateAdd
- DateCompare
- DateConvert
- DateDiff
- DateFormat
- DatePart
- Day
- DayOfWeek
- DayOfWeekAsString
- DayOfYear
- DaysInMonth
- DaysInYear
- DE
- DecimalFormat
- DecrementValue
- Decrypt
- DeleteClientVariable
- DirectoryExists
- DollarFormat
- Duplicate
- Encrypt
- Evaluate
- Exp
- ExpandPath
- FileExists
- Find
- FindNoCase
- FindOneOf
- FirstDayOfMonth
- Fix
- FormatBaseN
- GetBaseTagData
- GetBaseTagList
- GetBaseTemplatePath
- GetClientVariablesList
- GetCurrentTemplatePath
- GetDirectoryFromPath
- GetException
- GetFileFromPath
- GetFunctionList
- GetHTTPRequestData
- GetHTTPTimeString
- GetK2ServerCollections
- GetK2ServerDocCount
- GetK2ServerDocCountLimit
- GetLocale
- GetMetricData
- GetProfileString
- GetTempDirectory
- GetTempFile
- GetTemplatePath
- GetTickCount
- GetTimeZoneInfo
- GetToken
- Hash
- Hour
- HTMLCodeFormat
- HTMLEditFormat
- IIf
- IncrementValue
- InputBaseN
- Insert
- Int
- IsArray
- IsAuthenticated
- IsAuthorized
- IsBinary
- IsBoolean
- IsCustomFunction
- IsDate
- IsDebugMode
- IsDefined
- IsK2ServerDocCountExceeded
- IsLeapYear
- IsNumeric
- IsNumericDate
- IsProtected
- IsQuery
- IsSimpleValue
- IsStruct
- IsWDDX
- JavaCast
- JSStringFormat
- Lcase
- Left
- Len
- ListAppend
- ListChangeDelims
- ListContains
- ListContainsNoCase
- ListDeleteAt
- ListFind
- ListFindNoCase
- ListFirst
- ListGetAt
- ListInsertAt
- ListLast
- ListLen
- ListPrepend
- ListQualify
- ListRest
- ListSetAt
- ListSort
- ListToArray
- ListValueCount
- ListValueCountNoCase
- LJustify
- Log
- Log10
- LSCurrencyFormat
- LSDateFormat
- LSEuroCurrencyFormat
- LSIsCurrency
- LSIsDate
- LSIsNumeric
- LSNumberFormat
- LSParseCurrency
- LSParseDateTime
- LSParseEuroCurrency
- LSParseNumber
- LSTimeFormat
- LTrim
- Max
- Mid
- Min
- Minute
- Month
- MonthAsString
- Now
- NumberFormat
- ParagraphFormat
- ParameterExists
- ParseDateTime
- Pi
- PreserveSingleQuotes
- Quarter
- QueryAddColumn
- QueryAddRow
- QueryNew
- QuerySetCell
- QuotedValueList
- Rand
- Randomize
- RandRange
- REFind
- REFindNoCase
- RemoveChars
- RepeatString
- Replace
- ReplaceList
- ReplaceNoCase
- REReplace
- REReplaceNoCase
- Reverse
- Right
- RJustify
- Round
- RTrim
- Second
- SetLocale
- SetProfileString
- SetVariable
- Sgn
- Sin
- SpanExcluding
- SpanIncluding
- Sqr
- StripCR
- StructAppend
- StructClear
- StructCopy
- StructCount
- StructDelete
- StructFind
- StructFindKey
- StructFindValue
- StructGet
- StructInsert
- StructIsEmpty
- StructKeyArray
- StructKeyExists
- StructKeyList
- StructNew