
- •Web программирование
- •231000.62 – “Программная инженерия”
- •Содержание
- •Введение
- •Дисциплина web программирование имеет целью обучить студентов разработке web - приложений, дать студентам теоретические знания и практические навыки в проектировании и реализации web-сайтов.
- •1. Протоколы и модели Internet-взаимодействия
- •1.1. Протоколы
- •1.2. Модель клиент-сервер
- •1.3. Формат описания адреса
- •2. Статическое web – программирование
- •2.1. Структура html-документа
- •2.2. Работа с текстом
- •2.3. Работа с таблицами
- •2.4. Работа с формами
- •2.5. Работа с фреймами
- •3. Каскадные таблицы стилей (css)
- •3.1. Синтаксис css
- •3.2. Использование css
- •3.3. Свойства css
- •4. Язык xml
- •4.1. Структура xml-документа
- •4.2. Правила создания xml-документа
- •4.3. Конструкции языка xml
- •4.3.1. Элементы данных
- •4.3.2. Комментарии
- •4.3.3. Атрибуты
- •4.3.4. Cпециальные символы
- •4.3.5. Директивы анализатора
- •4.3.6. Cdata
- •5. JavaScript сценарии
- •5.1. Клиентские и серверные сценарии
- •5.2. Операторы и функции JavaScript
- •5.3. Встроенные объекты JavaScript
- •5.4. Динамический html
- •5.5. Ajax технология
- •6. Работа с субд MySql
- •6.1. Особенности
- •6.2. Основные команды
- •7. Php. Динамическое web-программирование
- •7.1. Особенности
- •7.2. Php и объектно-ориентированное программирование
- •8. Проектирование полнофункциональных web-сайтов
- •8.1. Виды сайтов
- •8.2. Этапы проектирования web-сайтов
- •9. Задания для выполнения лабораторных работ
- •Последовательность выполнения задания
- •9.2. Задания для выполнения лабораторной работы №2 «Разработка сайта, содержащего карту-изображение с заданными активными зонами»
- •Варианты
- •Последовательность выполнения задания
- •9.3. Задания для выполнения лабораторной работы №3 «Разработка сайта, содержащего таблицы»
- •Варианты
- •9.4. Задания для выполнения лабораторной работы №4 «Разработка сайта “Электронный тест проверки знаний студентов изучаемых дисциплин”»
- •Варианты
- •Последовательность выполнения задания
- •9.5. Задания для выполнения лабораторной работы №5 «Разработка сайта с динамическими эффектами»
- •Варианты
- •Последовательность выполнения задания
- •9.6. Задания для выполнения лабораторной работы №6 «JavaScript. Горизонтальное и вертикальное меню»
- •Варианты
- •Последовательность выполнения задания
- •2.1 Горизонтальное меню
- •2.2 Вертикальное выпадающее меню
- •2.3 Вертикальное раскрывающееся меню
- •9.7. Задания для выполнения лабораторной работы №7
- •2. Ход работы
- •9.8. Задания для выполнения лабораторной работы №8 «Динамическая поддержка выбора значений из предлагаемого списка»
- •Варианты
- •Последовательность выполнения задания
- •9.9. Задания для выполнения лабораторной работы№9 «MySql. Проектирование базы данных и обеспечение прав доступа»
- •Варианты
- •Последовательность выполнения задания
- •9.10. Задания для выполнения лабораторной работы№10 «Разработка интернет-магазина»
- •Варианты
- •Последовательность выполнения задания
- •10. Контрольная работа
- •10.1. Назначение, цели и задачи контрольной работы
- •10.2. Требования к контрольной работе
- •10.3. Варианты заданий курсовой работы
- •11. Пример программы «Создание динамического эффекта» к выполнению лабораторной работы №5 «Разработка сайта с динамическими эффектами»
- •11.1. Плавное появление и исчезновение текста
- •11.2. Текст, движущийся на наблюдателя
- •11.3. Создание бегущих строк
- •11.4. Волнообразнодвижущийся текст
- •10.5. Текст, прилетающий по частям
- •10.6. Имитация движения текста по кругу в 3 d пространстве
- •10.7. Движение фонового рисунка страницы («летящие звезды», «эффект фейерверка», «падающий снег», «часы со стрелками»)
- •Заключение
- •Список литературных первоисточников
- •231000.62 – «Программная инженерия»
9.7. Задания для выполнения лабораторной работы №7
«Технология фонового обмена данными браузера с веб-сервером в информационных сетях»
Цель: Получить теоретические знания и практические навыки в использовании технологииAJAX.
Используемые приемы и технологии: AJAX,JavaScript,HTML,CSS
Ключевые термины:веб-приложение, методы объекта XMLHttpRequest
Варианты
Разработайте веб-приложение предусматривающее возможность ввода в поле формы арифметических выражений типа «23*6» с асинхронной передачей данных между браузером и сервером с помощьюAJAXи отображением результата.
Последовательность выполнения задания
1. Теоретические сведения
Средством т.н. «фонового» обмена данными в информационных сетях между браузером и веб-сервером служит технология AsynchronousJavaScriptandXML(AJAX).
AJAX не зависит от программного обеспечения веб-сервера и использует следующие веб-стандарты:
JavaScript
XML
HTML
CSS
Поскольку эти веб-стандарты поддерживаются наиболее распространенными веб-браузерами, то AJAX приложения являются браузеро- и платформо-независимыми. Использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что часто вместо загрузки всей страницы достаточно загрузить только изменившуюся часть. AJAX позволяет несколько снизить нагрузку на сервер. Поскольку нужно загрузить только изменившуюся часть, пользователь видит результат своих действий быстрее.
Важнейшей составляющей технологии AJAX является класс XMLHttpRequest. Объекты этого класса поддерживается в Internet Explorer(начиная 5 версии и выше),Safari 1.2,Mozilla 1.0/Firefox,Opera 8+иNetscape 7.
Объекты класса XMLHttpRequestпо-разному создаются в различных браузерах. Так,InternetExplorerдля этого используетActiveXObject, в то время как остальные браузеры используют встроенный в JavaScript классXMLHttpRequest.
В частности для Internet Explorer 6.0+ объект создается как:
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP").
Для Internet Explorer 5.5+ как:
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP").
Для браузеров Firefox, Opera или Safari как:
xmlHttp = new XMLHttpRequest().
Использование объекта класса XMLHttpRequest реализуется посредством методов и свойств, основные из которых перечислены ниже.
Методы объекта XMLHttpRequest.
Метод open()
Метод open() создает запрос для Web-сервера.
Метод send()
Метод send() посылает запрос серверу.
Метод abort()
Метод abort() отменяет текущий запрос к серверу.
Свойство onreadystatechange объекта XMLHttpRequest.
Определяет обработчик события, которое происходит при каждой смене состояния объекта. Имя должно быть записано в нижнем регистре.
Свойство readyState объекта XMLHttpRequest.
Свойство readyState определяет текущее состояние объекта XMLHttpRequest.
В таблице показаны возможные значения свойства readyState:
Состояние |
Описание |
0 |
Запрос не инициализирован |
1 |
Запрос создан |
2 |
Запрос послан |
3 |
Запрос обрабатывается |
4 |
Запрос завершен |
readyState=0 после создания объекта XMLHttpRequest, но до вызова метода open().
readyState=1 после вызова метода open(), но до вызова метода send().
readyState=2 после вызова метода send().
readyState=3 после того, как браузер соединится с сервером, но до завершения сервером ответа.
readyState=4 после завершения запроса и полного получения всех данных ответа с сервера.
Различные браузеры используют свойство состояния готовности по-разному. Не стоит рассчитывать, что все браузеры будут сообщать обо всех состояниях. Некоторые не сообщают о состоянии 0 и 1.
Для приложений AJAX представляет интерес фактически только состояние 4. Те есть, когда запрос завершен, и можно использовать полученные данные.
Свойство responseText объекта XMLHttpRequest
Свойство responseText содержит присланный сервером текст.
Приложения, использующие AJAXкаждый раз, когда вводится символ, предусматривают выполнение следующих действий.
Вызывается функция обработчик.
Формируется url с необходимыми параметрами для отправки веб-серверу.
Создается объект класса XMLHttpRequest.
Указывается имя функции подлежащей исполнению при наступлении события ввода символа (Она обеспечит отображение изменяющейся части страницы, когда ответ сервера будет готов).
Открывается созданный объект класса XMLHttpRequest с указанным значением url.
Отправляется HTTP запрос веб-серверу.