// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Введение в Ajax для веб-приложений Java
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Введение в Ajax для веб-приложений Java - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Введение в Ajax для веб-приложений Java

В этом документе содержится введение в Ajax и описываются некоторые из функций в IDE NetBeans, позволяющий сделать программирование более быстрым и более эффективным процессом при работе с технологиями, связанными с Ajax. На примере низкоуровневых функциональных возможностей Ajax продемонстрирована разработка простого приложения с функцией автозаполнения текстового поля. В документе использованы материалы статьи Грега Мюррея (Greg Murray) и демонстрационное приложение из руководства link:http://weblogs.java.net/blog/gmurray71/archive/2005/12/using_ajax_with_1.html[+Использование Ajax при помощи технологии Java+].

Ajax – это аббревиатура, означающая "Асинхронный JavaScript и XML" (Asynchronous JavaScript and XML). Основное назначение Ajax состоит в предоставлении веб-приложению возможности эффективной обработки взаимодействия между пользователем и веб-страницей, при этом значительно снижаются требования к обновлению или полной перезагрузке страницы при каждом взаимодействии с пользователем. Такой подход предоставляет широкие возможности при использовании браузера (аналогичные возможностям настольного приложения или веб-приложения на основе подключаемого модуля). Обработка взаимодействия Ajax осуществляется асинхронно в фоновом режиме. Благодаря этому пользователь может продолжать работу со страницей. Взаимодействие Ajax инициируется посредством кода JavaScript. После выполнения взаимодействия Ajax код JavaScript обновляет исходный текст HTML для страницы. Изменения вносятся немедленно без необходимости обновления страницы. Взаимодействия Ajax могут использоваться для выполнения таких задач, как проверка правильности формата вводимых записей на основе серверной логики (непосредственно во время их ввода пользователем), извлечение подробных данных из сервера, динамическое обновление данных на странице и передача элементов форм страницы.


image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]


*Для работы с этим учебным курсом требуются программное обеспечение и ресурсы, перечисленные ниже.*

|===
|Программное обеспечение или материал |Требуемая версия 

|link:https://netbeans.org/downloads/index.html[+IDE NetBeans, Java EE bundle+] |7.3, 7.4, 8.0 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Комплект для разработчика на языке Java (JDK)+] |7 или 8 

|link:https://glassfish.java.net/[+Сервер GlassFish+] 
_или_ 
link:http://tomcat.apache.org/index.html[+Сервер Tomcat+] |Open Source Edition 3.1.x или 4.x 
_ _ 
, версия 7.x или 8.x 
|===

*Примечания*

* Установка Java EE в IDE позволяет при необходимости установить сервер GlassFish и контейнер сервлетов Apache Tomcat.
* При этом предполагается, что читатель обладает практическими знаниями в области различных используемых технологий (т.е. HTML, CSS, JavaScript, Java и JSP). В этом документе приведен обзор функциональных возможностей, предоставляемых кодом, однако он _не содержит_ каких-либо пояснений относительно кода на более детальном уровне.
* Если необходимо сравнить проект с работающим решением, можно link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaScript%252FMyAjaxApp.zip[+загрузить демонстрационное приложение+].



[[overview]]
== Обзор приложения

Предположим, что существует веб-страница, на которой пользователь может выполнять поиск информации о композиторах. Эта страница содержит поле, в которое вводится имя композитора. В примере приложения для поля ввода может использоваться функция автозавершения. Другими словами, пользователь может ввести часть имени композитора, после чего веб-приложение предложит варианты полного имени, перечислив всех композиторов, чьи имена или фамилии начинаются с введенных символов. Таким образом, пользователь может не помнить полное имя композитора, однако функция автозавершения обеспечит быстрый интуитивный доступ к требуемой информации.

image::images/sample-app.png[title="Образец приложения отображается в браузере"]

Реализация функции автозавершения в поле поиска может служить примером возможностей, предоставляемых Ajax. Ajax использует объект `XMLHttpRequest` для асинхронной передачи запросов и ответов между клиентом и сервером. На следующем рисунке представлена блок-схема операций связи, происходящих между клиентом и сервером.

image::images/ajax-process-flow.png[title="Диаграма потоков процессов Ajax"]


Для описания потока операций на блок-схеме можно использовать следующие действия.

1. Пользователь инициирует событие, например, отпускает клавишу при наборе имени. Это приводит к вызову функции JavaScript, которая инициализирует объект `XMLHttpRequest`.
2. Объект `XMLHttpRequest` настроен с учетом параметра запроса, который включает идентификатор элемента управления, инициировавшего событие, а также произвольное значение, введенное пользователем. Затем объект `XMLHttpRequest` выполняет асинхронный запрос к веб-серверу.
3. На веб-сервере осуществляется обработка этого запроса с использованием соответствующего объекта, например сервлета или прослушивающего процесса. Из хранилища данных извлекаются необходимые данные и подготавливается ответ, содержащий данные в форме документа XML.
4. Наконец, объект `XMLHttpRequest` получает данные XML с использованием функции ответного вызова, выполняет их обработку и обновляет модель DOM (Document Object Model, объектная модель документов) HTML для отображения страницы, содержащей новые данные.

В данном учебном курсе описан способ создания варианта автозаполнения путем выполнения потока операций процесса, показанного на рисунке выше. Сначала на стороне клиента создаются файлы для страницы представления данных и функции, необходимые для генерации объекта `XMLHttpRequest`. Затем выполняется настройка на стороне сервера, заключающаяся в создании хранилища данных и бизнес-логики с использованием технологий на основе Java. Наконец, на стороне клиента реализуется функция обратного вызова `callback()` и другие функциональные возможности JavaScript, необходимые для обновления DOM HTML.



[[client1]]
== Программирование на стороне клиента: часть 1

Сначала необходимо создать новый проект веб-приложения в среде IDE. Среда IDE уже содержит встроенные шаблоны для различных типов проекта.

1. Выберите команду "Файл" > "Новый проект". В области "Категории" выберите "Java Web". В области "Projects" (Проекты) выберите "Web Application" (Веб-приложение) и нажмите кнопку "Next" (Далее).
2. На экране "Имя и расположение" введите `MyAjaxApp` в поле "Имя проекта". Поле "Project Location" позволяет указать местоположение проекта. Для всех остальных параметров примите значения по умолчанию и нажмите кнопку "Далее". 

image::images/java-name-location.png[title="Укажите имя проекта и местоположение проекта приложения"]


. На панели "Сервер и параметры настройки" выберите сервер, на котором требуется выполнить развертывание приложения. В списке представлены только те серверы, которые зарегистрированы в среде IDE. 

image::images/java-server-settings.png[title="Выберите сервер, на котором требуется выполнить развертывание приложения"]


. Подтвердите остальные значения по умолчанию и нажмите кнопку "Готово". Проект создается в файловой системе и открывается в среде IDE.

При создании веб-проектов на основе Java автоматически создается сценарий сборки link:http://ant.apache.org/[+Ant+], отвечающий за компиляцию проекта, что позволяет немедленно развернуть и запустить его на сервере, зарегистрированном в среде IDE.

В редакторе исходного кода среды IDE создается и открывается страница ввода по умолчанию. В зависимости от целевого сервера эта страница ввода будет иметь вид `index.jsp` или `index.html`.

image::images/java-proj-win.png[title="В окне 'Проекты' отображается проект MyAjaxApp"]

Перед написанием программы попробуйте запустить приложение в целях проверки правильности настройки взаимосвязи между средой IDE, сервером и браузером.

1. В окне "Проекты" щелкните правой кнопкой мыши узел проекта и выберите команду "Выполнить".

Приложение компилируется, сервер приложений запускается, после чего приложение развертывается на этом сервере и выполняется. IDE открывает браузер по умолчанию и отображает страницу ввода по умолчанию.


=== Работа с редактором HTML

image::images/palette.png[title="На палитре отображаются элементы HTML"] 

Теперь, после выполнения проверки правильности настройки среды, можно приступить к преобразованию страницы-указателя в интерфейс автозавершения, который будет отображаться для пользователей.

Одним из преимуществ использования среды IDE является то, что используемый редактор обеспечивает возможность применения функции автозавершения кода, что позволяет опытным пользователям значительно увеличить свою производительность при написании кода. Редактор исходного кода среды IDE обеспечивает адаптацию к применяемой технологии благодаря чему при нажатии сочетания клавиш автозавершения кода CTRL+ПРОБЕЛ (при работе со страницей HTML) пользователю предлагаются варианты тегов HTML и атрибутов. Далее мы увидим, что то же самое справедливо и для других технологий, например, CSS и JavaScript.

Вторым важным преимуществом является возможность использования палитры в среде IDE. Эта палитра предоставляет удобные в работе шаблоны для элементов, часто используемых в технологиях программирования. Необходимо просто выбрать отдельный элемент и перетащить его в определенное место файла, открытого в редакторе исходного кода.

Для отображения крупных значков (как в примере) необходимо щелкнуть палитру правой кнопкой мыши и выбрать пункт "Отображать крупные значки".


1. Измените содержимое тегов `<title>` и `<h1>`на`"Автоматическое завершение с использованием AJAX"` Для страницы-указателя создание какого-либо кода на стороне сервера не требуется, так что можно удалить строки, созданные по умолчанию. Теперь должна появиться страница-указатель, аналогичная представленной ниже.

[source,xml]
----

<!DOCTYPE html>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Auto-Completion using AJAX</title>
    </head>
    <body>
        <h1>Auto-Completion using AJAX</h1>
    </body>
</html>

----


. Для описания назначения текстового поля следует добавить соответствующий пояснительный текст. Непосредственно под тегами `<h1>` можно скопировать и вставить следующий текст:

[source,html]
----

<p>This example shows how you can do real time auto-completion using Asynchronous
    JavaScript and XML (Ajax) interactions.</p>

<p>In the form below enter a name. Possible names that will be completed are displayed
    below the form. For example, try typing in "Bach," "Mozart," or "Stravinsky,"
    then click on one of the selections to see composer details.</p>

----


. Добавьте к странице форму HTML. Для этого можно использовать элементы, содержащиеся в палитре среды IDE. Если палитра не открыта, выберите в главном меню "Окно" > "Палитра". Затем перейдите к узлу "Формы HTML", выберите элемент "Форма" и перетащите его на страницу под только что добавленные теги `<p>`. Появится диалоговое окно "Вставить форму". Введите следующее: 

* Действие: autocomplete
* Method: GET;
* Имя: autofillform

image::images/insert-form.png[title="Диалоговое окно 'Вставить форму'"]

Нажмите кнопку "ОК". Теги HTML `<form>` вставляются в страницу, содержащую указанные атрибуты. (Метод GET применяется по умолчанию, и, следовательно, не объявляется явно).



. Добавьте к странице таблицу HTML. В категории палитры "HTML" выберите элемент "Таблица" и перетащите его непосредственно под теги `<form>`. Откроется диалоговое окно "Вставить таблицу". Введите следующее: 

* Строк: 2
* Столбцов: 2
* Размер границы : 0
* Заполнение ячеек: 5

image::images/insert-table.png[title="Диалоговое окно 'Вставить таблицу'"]


. Щелкните правой кнопкой мыши редактор исходного кода и выберите команду "Форматировать". Последует выравнивание кода. Теперь форма должна выглядеть следующим образом:

[source,xml]
----

<form name="autofillform" action="autocomplete">
  <table border="0" cellpadding="5">
    <thead>
      <tr>
        <th></th>
        <th></th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</form>

----


. В первый столбец первой строки таблицы введите следующий текст (изменения выделены *полужирным шрифтом*):

[source,xml]
----

<td>*<strong>Composer Name:</strong>*</td>
----


. Во второй столбец первой строки вместо перетаскивания поля "Ввод текста" из палитры введите указанный ниже код (изменения выделены *полужирным* шрифтом):

[source,xml]
----

<td>
    *<input type="text"
        size="40"
        id="complete-field"
        onkeyup="doCompletion();">*
</td>

----
При вводе кода можно использовать встроенную в среду IDE функцию автозавершения кода. Например, введите `<i`, а затем нажмите CTRL+ПРОБЕЛ. Список предлагаемых вариантов выбора отображается под курсором, а в расположенном выше поле появляется описание выбранного элемента. Для получения возможных вариантов выбора при написании кода достаточно в любой момент нажать в редакторе исходного кода сочетание клавиш CTRL+ПРОБЕЛ. Кроме того, при наличии единственного возможного варианта выбора нажатие CTRL+ПРОБЕЛ приведет к автоматическому завершению кода с использованием элемента с этим именем. 

image::images/code-completion.png[title="Для вызова поддержки автозавершения кода и документации нажмите сочетание клавиш CTRL+ПРОБЕЛ в редакторе."]

Атрибут `onkeyup`, введенный выше, указывает на функцию JavaScript с именем `doCompletion()`. Эта функция вызывается при каждом нажатии клавиши в текстовом поле формы и соответствует вызову JavaScript на приведенной выше <<flow-diagram,блок-схеме>> Ajax.


[[javascript]]
=== Работа с редактором JavaScript

Редактор JavaScript в среде IDE предоставляет целый ряд расширенных возможностей редактирования, таких как интеллектуальное автозавершение кода, семантическое выделение, быстрое переименование, возможности переработки и многие другие функции.

Возможность автозавершения кода JavaScript автоматически предоставляется при кодировании в файлах `.js`, а также внутри тегов `<script>` и при работе с другими технологиями (например, HTML, RHTML, JSP, PHP). IDE может предоставить вам некоторые подсказки при редактировании кода JavaScript. Можно настроить наличие подсказок вариантов JavaScript, выбрав 'Сервис' > 'Параметры' ('NetBeans' > 'Предпочтения на Mac'), чтобы открыть окно 'Параметры' и выбрать язык JavaScript на вкладке 'Советы' в категории 'Редактор'. Также можно добавить собственные шаблоны кода JavaScript на вкладке 'Шаблоны кода' в окне 'Параметры'.

image::images/javascript-options.png[title="Параметры подсказки JavaScript в окне 'Параметры'"]

Добавьте файл JavaScript к приложению и выполните `doCompletion()`.

1. В окне "Проекты" щелкните правой кнопкой мыши узел "Веб-страницы" и выберите "Создать > Файл JavaScript". (Если файл JavaScript отсутствует в списке, выберите "Прочее". Затем выберите файл JavaScript из категории "Web" в мастере создания файла).
2. Задайте имя файла `javascript` и нажмите кнопку 'Готово'. Новый файл JavaScript отображается в окне 'Проекты' в папке 'Веб-страницы'.
3. Введите приведенный ниже код в файл `javascript.js`.

[source,java]
----

var req;
var isIE;

function init() {
    completeField = document.getElementById("complete-field");
}

function doCompletion() {
        var url = "autocomplete?action=complete&amp;id=" + escape(completeField.value);
        req = initRequest();
        req.open("GET", url, true);
        req.onreadystatechange = callback;
        req.send(null);
}

function initRequest() {
    if (window.XMLHttpRequest) {
        if (navigator.userAgent.indexOf('MSIE') != -1) {
            isIE = true;
        }
        return new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        isIE = true;
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
}
----

С помощью этого кода выполняется простая проверка совместимости веб-браузеров Firefox 3 и Internet Explorer версий 6 и 7). Если требуется добавить более надежный код, устраняющий ошибки совместимости, используйте link:http://www.quirksmode.org/js/detect.html[+сценарий для определения браузера+] с веб-сайта link:http://www.quirksmode.org[+http://www.quirksmode.org+].



. Вернитесь к странице индекса и добавьте ссылку на файл JavaScript между тегами `<head>`.

[source,xml]
----

<script type="text/javascript" src="javascript.js"></script>
----

Для быстрого перехода между страницами, открытыми в редакторе исходного кода, можно воспользоваться сочетанием клавиш CTRL+TAB.



. Вставьте вызов `init()` после открывающего тега `<body>`.

[source,java]
----

<body *onload="init()"*>
----
Это обеспечит выполнение вызова `init()` при каждой загрузке страницы.

Роль `doCompletion()` состоит в следующем:

* создание URL-адреса к местоположению, содержащему данные, которые могут использоваться на стороне сервера;
* инициализация объекта `XMLHttpRequest`;
* запрос объекта `XMLHttpRequest` для передачи асинхронного запроса в сервер.

Объект `XMLHttpRequest` является основным объектом Ajax и своего рода фактическим стандартным решением для обеспечения асинхронной передачи данных XML по HTTP. _Асинхронное_ взаимодействие подразумевает возможность продолжения обработки браузером событий на странице даже после передачи запроса. Данные передаются в фоновом режиме и могут автоматически загружаться на страницу без необходимости ее обновления.

Следует отметить, что объект `XMLHttpRequest` фактически создается с помощью функции `initRequest()`, которая вызывается функцией `doCompletion()`. Эта функция позволяет выполнять проверку возможности распознавания браузером запроса `XMLHttpRequest`, и – в случае положительного ответа – создавать объект `XMLHttpRequest`. В противном случае, с ее помощью выполняется проверка на `ActiveXObject` (`XMLHttpRequest` для Internet Explorer 6), и если результат идентификации является положительным, создается `ActiveXObject`.

При создании объекта необходимо определить три параметра `XMLHttpRequest`: URL-адрес, метод HTTP (`GET` или `POST`) и допустимость использования асинхронного взаимодействия. В вышеупомянутом примере эти параметры определяются следующим образом:

* URL-адрес `autocomplete` и текст, введенный пользователем в поле `complete-field`:

[source,java]
----

var url = "autocomplete?action=complete&amp;id=" + escape(completeField.value);
----
* `GET` означает, что взаимодействия HTTP используют метод `GET`;
* `true` означает, что взаимодействие является асинхронным:

[source,java]
----

req.open("GET", url, true);
----

Если взаимодействие определено как асинхронное, необходимо указать функцию обратного вызова. Функция обратного вызова для этого взаимодействия определяется при помощи следующего оператора:


[source,java]
----

req.onreadystatechange = callback;
----

Затем следует определить функцию `callback()`. Взаимодействие HTTP инициируется при вызове `XMLHttpRequest.send()`. Это действие соответствует запросу HTTP, который передается на веб-сервер (см. представленную выше блок-схему).



[[serverside]]
== Программирование на стороне сервера

В среде IDE предусмотрена полная поддержка серверного веб-программирования. Наряду с базовой поддержкой редактором многих популярных языков программирования и написания сценариев, поддерживаются также веб-службы, такие как SOAP, REST, SaaS, а также платформы, ориентированные на MVC, например JSF, Spring и Struts. Несколько подключаемых модулей NetBeans доступны в link:http://plugins.netbeans.org/[+портале подключаемых модулей NetBeans+] для платформ под управлением Ajax, включая link:https://developers.google.com/web-toolkit/[+GWT+] и link:http://struts.apache.org/2.x/[+Struts2+].

Бизнес-логика разрабатываемого приложения предполагает обработку запросов путем извлечения данных из хранилища данных, их последующую подготовку и передачу ответа. В данном случае этот принцип реализован с использованием сервлета. Перед началом написания кода сервлета необходимо настроить хранилище данных и функциональные возможности, требуемые для доступа к данным со стороны этого сервлета.

* <<data,Создание хранилища данных>>
* <<servlet,Создание сервлета>>


=== Создание хранилища данных

Для данного простого приложения создается класс с именем `ComposerData`, в котором данные о композиторах содержатся в хранилище link:http://download.oracle.com/javase/1.5.0/docs/api/java/util/HashMap.html[+`HashMap`+]. В `HashMap` можно сохранять пары связанных элементов в парах ключевых значений. Кроме того, следует создать класс `Composer`, который инициирует извлечение сервлетом данных из записей, содержащихся в хранилище `HashMap`.

1. Щелкните правой кнопкой мыши узел проекта в окне "Проекты" и выберите команду "Создать" > "Класс Java".
2. Дайте классу имя `ComposerData` и введите `com.ajax` в поле "Пакет". При этом создается новый пакет, в который будет включен этот класс, а также другие классы, которые будут созданы позже.
3. Нажмите кнопку "Завершить". Последует создание и открытие класса в редакторе исходного кода.
4. В редакторе исходного кода вставьте следующий код:

[source,java]
----

package com.ajax;

import java.util.HashMap;

/**
 *
 * @author nbuser
 */
public class ComposerData {

    private HashMap composers = new HashMap();

    public HashMap getComposers() {
        return composers;
    }

    public ComposerData() {

        composers.put("1", new Composer("1", "Johann Sebastian", "Bach", "Baroque"));
        composers.put("2", new Composer("2", "Arcangelo", "Corelli", "Baroque"));
        composers.put("3", new Composer("3", "George Frideric", "Handel", "Baroque"));
        composers.put("4", new Composer("4", "Henry", "Purcell", "Baroque"));
        composers.put("5", new Composer("5", "Jean-Philippe", "Rameau", "Baroque"));
        composers.put("6", new Composer("6", "Domenico", "Scarlatti", "Baroque"));
        composers.put("7", new Composer("7", "Antonio", "Vivaldi", "Baroque"));

        composers.put("8", new Composer("8", "Ludwig van", "Beethoven", "Classical"));
        composers.put("9", new Composer("9", "Johannes", "Brahms", "Classical"));
        composers.put("10", new Composer("10", "Francesco", "Cavalli", "Classical"));
        composers.put("11", new Composer("11", "Fryderyk Franciszek", "Chopin", "Classical"));
        composers.put("12", new Composer("12", "Antonin", "Dvorak", "Classical"));
        composers.put("13", new Composer("13", "Franz Joseph", "Haydn", "Classical"));
        composers.put("14", new Composer("14", "Gustav", "Mahler", "Classical"));
        composers.put("15", new Composer("15", "Wolfgang Amadeus", "Mozart", "Classical"));
        composers.put("16", new Composer("16", "Johann", "Pachelbel", "Classical"));
        composers.put("17", new Composer("17", "Gioachino", "Rossini", "Classical"));
        composers.put("18", new Composer("18", "Dmitry", "Shostakovich", "Classical"));
        composers.put("19", new Composer("19", "Richard", "Wagner", "Classical"));

        composers.put("20", new Composer("20", "Louis-Hector", "Berlioz", "Romantic"));
        composers.put("21", new Composer("21", "Georges", "Bizet", "Romantic"));
        composers.put("22", new Composer("22", "Cesar", "Cui", "Romantic"));
        composers.put("23", new Composer("23", "Claude", "Debussy", "Romantic"));
        composers.put("24", new Composer("24", "Edward", "Elgar", "Romantic"));
        composers.put("25", new Composer("25", "Gabriel", "Faure", "Romantic"));
        composers.put("26", new Composer("26", "Cesar", "Franck", "Romantic"));
        composers.put("27", new Composer("27", "Edvard", "Grieg", "Romantic"));
        composers.put("28", new Composer("28", "Nikolay", "Rimsky-Korsakov", "Romantic"));
        composers.put("29", new Composer("29", "Franz Joseph", "Liszt", "Romantic"));

        composers.put("30", new Composer("30", "Felix", "Mendelssohn", "Romantic"));
        composers.put("31", new Composer("31", "Giacomo", "Puccini", "Romantic"));
        composers.put("32", new Composer("32", "Sergei", "Rachmaninoff", "Romantic"));
        composers.put("33", new Composer("33", "Camille", "Saint-Saens", "Romantic"));
        composers.put("34", new Composer("34", "Franz", "Schubert", "Romantic"));
        composers.put("35", new Composer("35", "Robert", "Schumann", "Romantic"));
        composers.put("36", new Composer("36", "Jean", "Sibelius", "Romantic"));
        composers.put("37", new Composer("37", "Bedrich", "Smetana", "Romantic"));
        composers.put("38", new Composer("38", "Richard", "Strauss", "Romantic"));
        composers.put("39", new Composer("39", "Pyotr Il'yich", "Tchaikovsky", "Romantic"));
        composers.put("40", new Composer("40", "Guiseppe", "Verdi", "Romantic"));

        composers.put("41", new Composer("41", "Bela", "Bartok", "Post-Romantic"));
        composers.put("42", new Composer("42", "Leonard", "Bernstein", "Post-Romantic"));
        composers.put("43", new Composer("43", "Benjamin", "Britten", "Post-Romantic"));
        composers.put("44", new Composer("44", "John", "Cage", "Post-Romantic"));
        composers.put("45", new Composer("45", "Aaron", "Copland", "Post-Romantic"));
        composers.put("46", new Composer("46", "George", "Gershwin", "Post-Romantic"));
        composers.put("47", new Composer("47", "Sergey", "Prokofiev", "Post-Romantic"));
        composers.put("48", new Composer("48", "Maurice", "Ravel", "Post-Romantic"));
        composers.put("49", new Composer("49", "Igor", "Stravinsky", "Post-Romantic"));
        composers.put("50", new Composer("50", "Carl", "Orff", "Post-Romantic"));

    }
}
----

Вы увидите, что в левом поле редактора выводится предупреждение о том, что не удается найти класс  ``Composer`` . Выполните следующие шаги для создания класса `Composer`.

1. Щелкните правой кнопкой мыши узел проекта в окне "Проекты" и выберите команду "Создать" > "Класс Java".
2. Дайте классу имя `Composer` и выберите `com.ajax` в раскрывающемся списке поля "Package". Нажмите кнопку "Завершить".

После нажатия кнопки 'Готово' в IDE создается класс, а файл открывается в редакторе исходного кода.



. В редакторе исходного кода вставьте следующий код:

[source,java]
----

package com.ajax;

public class Composer {

    private String id;
    private String firstName;
    private String lastName;
    private String category;

    public Composer (String id, String firstName, String lastName, String category) {
        this.id = id;
        this.firstName = firstName;
        this.lastName = lastName;
        this.category = category;
    }

    public String getCategory() {
        return category;
    }

    public String getId() {
        return id;
    }

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    }
}
----

После создания класса  ``Composer`` , если посмотреть на класс  ``ComposerData``  в редакторе, вы увидите, что предупреждения больше не отображаются. Если в  ``ComposerData``  по-прежнему отображаются аннотации с предупреждениями, можно попытаться устранить ошибку путем добавления отсутствующих операторов импорта.


[[servlet]]
=== Создание сервлета

Создайте сервлет для обработки URL-адреса `autocomplete`, получаемого при входящем запросе.

1. Щелкните правой кнопкой мыши узел проекта в окне 'Проекты' и выберите 'Создать' > 'Сервлет', чтобы открыть мастер создания сервлетов. (Выберите 'Другой' и выберите 'Сервлет' в меню 'Веб-категория', если сервлет не отображается по умолчанию во всплывающем меню).
2. Дайте сервлету имя `AutoCompleteServlet` и выберите `com.ajax` в раскрывающемся списке поля "Package". Нажмите кнопку 'Далее'.

image::images/newservlet-name-location.png[]


. На панели 'Настройка развертывания сервлета' измените шаблон адреса URL *`/autocomplete`* таким образом, чтобы он соответствовал адресу URL, заданному ранее в объекте `XMLHttpRequest`. 

image::images/newservlet-configure-deployment.png[]

Использование этой панели позволяет пропустить этап добавления дополнительных сведений вручную к дескриптору развертывания.



. При желании выберите "Добавить информацию о сервлете в дескриптор развертывания". После выполнения этих действий созданный проект получится таким же, как загруженный пример. В последней версии среды IDE сервлет по умолчанию регистрируется аннотацией `@WebServlet` вместо регистрации в дескрипторе развертывания. Тем не менее, проект будет работать, если использовать аннотацию `@WebServlet` вместо дескриптора развертывания.


. Нажмите кнопку "Завершить". Сервлет будет создан и открыт в редакторе исходного кода.

Единственными методами, которые следует переопределить, являются метод `doGet()` для определения обработки сервлетом запроса `autocomplete` `GET` и метод `init()`, который должен инициировать `ServletContext` для того, чтобы сервлет имел доступ к другим классам приложения после его запуска.

Существует возможность переопределения методов из родительских классов с помощью контекстного меню "Вставить код" в среде IDE. Реализуйте `init()` , выполнив следующие шаги.

1. Поместите курсор в нижней части объявления класса `AutoCompleteServlet` в редакторе исходного кода. Нажмите ALT+INS (CTRL+I в Mac ОS) для открытия контекстного меню "Создать код". 

image::images/insert-code.png[title="Всплывающее меню 'Вставить код' отображается в в редакторе исходного кода"]


. Выберите команду "Переопределить метод". В появившемся диалоговом окне отображаются все родительские классы сервлета `AutoCompleteServlet`. Разверните узел GenericServlet и выберите `init(Servlet Config config)`. 

image::images/new-override.png[title="В диалоговом окне 'Переопределить' указаны унаследованные классы"]


. Нажмите кнопку "ОК". Метод `init()` добавится в редактор исходного кода.


. Добавьте переменную для объекта `ServletContext` и измените метод `init()` (изменения выделены *полужирным* шрифтом):

[source,java]
----

*private ServletContext context;*

@Override
public void init(ServletConfig *config*) throws ServletException {
    *this.context = config.getServletContext();*
}
----


. Добавьте оператор импорта для объекта `ServletContext`. Это можно сделать, выбрав значок лампочки, который отображается на экране в левом поле редактора исходного кода. 

image::images/import-hint.png[title="Подсказки импорта отображаются в левом поле редактора исходного кода"]

Метод `doGet()` должен преобразовать URL-адрес запроса, извлечь данные из хранилища данных и подготовить ответ в формате XML. Следует отметить, что объявление метода было сгенерировано при создании класса. Для просмотра, возможно, потребуется расширить методы HttpServlet, щелкнув значок развертывания в левом поле (image:images/expand-icon.png[]).

1. Добавьте к классу следующие объявления переменных в нижней части объявления класса `AutocompleteServlet`:

[source,java]
----

private ComposerData compData = new ComposerData();
private HashMap composers = compData.getComposers();
----
При этом создается хранилище `HashMap`, включающее все данные о композиторах, которое затем используется методом `doGet()`.


. Выполните прокрутку вниз до метода `doGet()` и реализуйте его следующим образом:

[source,xml]
----

@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {

    String action = request.getParameter("action");
    String targetId = request.getParameter("id");
    StringBuffer sb = new StringBuffer();

    if (targetId != null) {
        targetId = targetId.trim().toLowerCase();
    } else {
        context.getRequestDispatcher("/error.jsp").forward(request, response);
    }

    boolean namesAdded = false;
    if (action.equals("complete")) {

        // check if user sent empty string
        if (!targetId.equals("")) {

            Iterator it = composers.keySet().iterator();

            while (it.hasNext()) {
                String id = (String) it.next();
                Composer composer = (Composer) composers.get(id);

                if ( // targetId matches first name
                     composer.getFirstName().toLowerCase().startsWith(targetId) ||
                     // targetId matches last name
                     composer.getLastName().toLowerCase().startsWith(targetId) ||
                     // targetId matches full name
                     composer.getFirstName().toLowerCase().concat(" ")
                        .concat(composer.getLastName().toLowerCase()).startsWith(targetId)) {

                    sb.append("<composer>");
                    sb.append("<id>" + composer.getId() + "</id>");
                    sb.append("<firstName>" + composer.getFirstName() + "</firstName>");
                    sb.append("<lastName>" + composer.getLastName() + "</lastName>");
                    sb.append("</composer>");
                    namesAdded = true;
                }
            }
        }

        if (namesAdded) {
            response.setContentType("text/xml");
            response.setHeader("Cache-Control", "no-cache");
            response.getWriter().write("<composers>" + sb.toString() + "</composers>");
        } else {
            //nothing to show
            response.setStatus(HttpServletResponse.SC_NO_CONTENT);
        }
    }
    if (action.equals("lookup")) {

        // put the target composer in the request scope to display 
        if ((targetId != null) &amp;&amp; composers.containsKey(targetId.trim())) {
            request.setAttribute("composer", composers.get(targetId));
            context.getRequestDispatcher("/composer.jsp").forward(request, response);
        }
    }
}
----

Итак, на этом примере создания сервлета можно убедиться, что написание кода на стороне сервера для обработки с использованием Ajax не требует каких-либо новых знаний. Для случаев, когда требуется обмен документами XML, тип содержимого ответа должен иметь значение `text/xml`. Кроме того, Ajax позволяет осуществлять обмен простыми текстами или даже фрагментами JavaScript, которые могут анализироваться или выполняться с использованием функции обратного вызова на стороне клиента. Обратите внимание на то, что некоторые браузеры могут кэшировать результаты, следовательно, может потребоваться установка заголовка HTTP "Cache-Control" на `no-cache`.

В этом примере сервлет генерирует документ XML, в котором содержатся все композиторы, имя или фамилия которых начинается с введенных пользователем символов. Этот документ соответствует данным XML, описанным в приведенной выше блок-схеме. Ниже приведен пример документа XML, который возвращается в объект `XMLHttpRequest`:


[source,xml]
----

<composers>
    <composer>
        <id>12</id>
        <firstName>Antonin</firstName>
        <lastName>Dvorak</lastName>
    </composer>
    <composer>
        <id>45</id>
        <firstName>Aaron</firstName>
        <lastName>Copland</lastName>
    </composer>
    <composer>
        <id>7</id>
        <firstName>Antonio</firstName>
        <lastName>Vivaldi</lastName>
    </composer>
    <composer>
        <id>2</id>
        <firstName>Arcangelo</firstName>
        <lastName>Corelli</lastName>
    </composer>
</composers>

----

После завершения кода приложения можно воспользоваться функцией <<httpMonitor,HTTP Monitor>> среды IDE для просмотра возвращенных данных XML.


[[client2]]
== Программирование на стороне клиента: часть 2

Теперь необходимо определить функцию обратного вызова для обработки ответа сервера и добавить все функциональные возможности, необходимые для отражения изменений на странице, которая просматривается пользователем. В этом случае потребуется внести изменения в модель DOM HTML. Необходимо создать JSP-страницы для отображения результатов успешного запроса или сообщений об ошибках запроса со сбоем. Можно затем создать простую таблицу стилей для презентации.

* <<callback,Добавление функциональных возможностей обратного вызова>>
* <<htmldom,Обновление модели DOM HTML>>
* <<displayresults,Отображение результатов>>
* <<stylesheet,Присоединение таблицы стилей>>


=== Добавление функциональных возможностей обратного вызова

Асинхронный вызов функции обратного вызова выполняется на определенных этапах взаимодействия HTTP – при изменении свойства `readyState` объекта `XMLHttpRequest`. В разрабатываемом приложении в качестве функции обратного вызова используется `callback()`. Следует помнить о том, что `callback` в `doCompletion()` была определена как свойство `XMLHttpRequest.onreadystatechange` для функции. Теперь можно реализовать функцию обратного вызова следующим образом.

1. Откройте `javascript.js` в редакторе исходного кода и введите следующий код.

[source,java]
----

function callback() {
    if (req.readyState == 4) {
        if (req.status == 200) {
            parseMessages(req.responseXML);
        }
    }
}
----

Значение "4" состояния `readyState` означает успешное выполнение взаимодействия HTTP. Интерфейс API для `XMLHttpRequest.readState` указывает на наличие 5 возможных значений, которые могут быть использованы при настройке. Это:

|===
|Значение `readyState` |Определение состояния объекта 

|0 |не инициализировано 

|1 |загрузка 

|2 |загружено 

|3 |интерактивный режим 

|4 |выполнено 
|===

Обратите внимание, что функция `parseMessages()` вызывается, только если `XMLHttpRequest.readyState` находится в состоянии "4", а `status` – определение кода состояния HTTP запроса – имеет значение "200", что указывает на успешное выполнение. Метод ` parseMessages()`будет определен далее в разделе <<htmldom,Обновление модели DOM HTML>>.


=== Обновление модели DOM HTML

Функция `parseMessages()` позволяет выполнять обработку входящих данных XML. При этом, в указанной функции используются несколько вспомогательных функций, например `appendComposer()`, `getElementY()` и `clearTable()`. Кроме того, необходимо ввести новые элементы для страницы-указателя, например, вторую таблицу HTML, которая служит в качестве поля автозавершения, и идентификаторы для элементов, обеспечивающие возможность вызова в `javascript.js`. Наконец, следует создать новые переменные, соответствующие идентификаторам элементов на странице индекса, инициализировать их в предварительно реализованной функции `init()` и добавить функциональность, которая требуется при каждой загрузке страницы индекса.

*Примечание.* Функции и элементы, которые создаются в следующих действиях, являются взаимозависимыми. После выполнения рекомендаций, приведенных в этом разделе, необходимо выполнить тщательную проверку реализованного кода.

1. Откройте страницу индекса в редакторе исходного кода и введите указанный ниже код во вторую строку предварительно созданной таблицы HTML.

[source,xml]
----

<tr>
    *<td id="auto-row" colspan="2">
        <table id="complete-table" />
    </td>*
</tr>
----
Вторая строка таблицы содержит еще одну таблицу HTML. Эта таблица представляет поле автозавершения, используемое для автоматического ввода полных имен композиторов.


. Откройте `javascript.js` в редакторе исходного кода и добавьте к первому фрагменту файла три следующих переменных:

[source,java]
----

var completeField;
var completeTable;
var autoRow;
----


. Добавьте следующие строки (выделенные *полужирным шрифтом*) к функции `init()`.

[source,java]
----

function init() {
    completeField = document.getElementById("complete-field");
    *completeTable = document.getElementById("complete-table");
    autoRow = document.getElementById("auto-row");
    completeTable.style.top = getElementY(autoRow) + "px";*
}
----
Одной из целей `init()` является предоставление доступа к элементам страницы индекса для других функций, используемых в целях изменения DOM страницы индекса.


. Добавьте `appendComposer()` в `javascript.js`.

[source,java]
----

function appendComposer(firstName,lastName,composerId) {

    var row;
    var cell;
    var linkElement;

    if (isIE) {
        completeTable.style.display = 'block';
        row = completeTable.insertRow(completeTable.rows.length);
        cell = row.insertCell(0);
    } else {
        completeTable.style.display = 'table';
        row = document.createElement("tr");
        cell = document.createElement("td");
        row.appendChild(cell);
        completeTable.appendChild(row);
    }

    cell.className = "popupCell";

    linkElement = document.createElement("a");
    linkElement.className = "popupItem";
    linkElement.setAttribute("href", "autocomplete?action=lookup&amp;id=" + composerId);
    linkElement.appendChild(document.createTextNode(firstName + " " + lastName));
    cell.appendChild(linkElement);
}
----
Эта функция позволяет создавать новую строку таблицы и вставлять в нее ссылку на композитора с использованием данных, передаваемых в функцию посредством соответствующих трех параметров, а затем вставлять эту строку в элемент `complete-table` страницы-указателя.


. Добавьте `getElementY()` в `javascript.js`.

[source,java]
----

function getElementY(element){

    var targetTop = 0;

    if (element.offsetParent) {
        while (element.offsetParent) {
            targetTop += element.offsetTop;
            element = element.offsetParent;
        }
    } else if (element.y) {
        targetTop += element.y;
    }
    return targetTop;
}
----
Указанная функция применяется для определения вертикальной позиции исходного элемента. Это является необходимым, поскольку фактическое расположение элемента при его отображении часто зависит от типа и версии браузера. Следует отметить, что при отображении на экране элемент `complete-table`, содержащий имена композиторов, перемещается в нижнюю правую часть таблицы, в которой он расположен. Правильное расположение по высоте определяется `getElementY()`. 

*Примечание.* См. link:http://www.quirksmode.org/js/findpos.html[+это описание+] `смещения` в link:http://www.quirksmode.org/[+http://www.quirksmode.org/+].



. Добавьте `clearTable()` в `javascript.js`.

[source,java]
----

function clearTable() {
    if (completeTable.getElementsByTagName("tr").length > 0) {
        completeTable.style.display = 'none';
        for (loop = completeTable.childNodes.length -1; loop >= 0 ; loop--) {
            completeTable.removeChild(completeTable.childNodes[loop]);
        }
    }
}
----
Эта функция позволяет скрывать элемент `complete-table` (т.е. делать его невидимым), но не удаляет какие-либо существующие записи имен композиторов, созданные ранее.


. Для вызова `clearTable()` при каждом получении данных с сервера можно соответствующим образом изменить функцию `callback()`. Поэтому любые скомбинированные записи, существующие в окне автозавершения, удаляются до того, как выполняется заполнение новыми записями.

[source,java]
----

function callback() {

    *clearTable();*

    if (req.readyState == 4) {
        if (req.status == 200) {
            parseMessages(req.responseXML);
        }
    }
}
----


. Добавьте `parseMessages()` в `javascript.js`.

[source,java]
----

function parseMessages(responseXML) {

    // no matches returned
    if (responseXML == null) {
        return false;
    } else {

        var composers = responseXML.getElementsByTagName("composers")[0];

        if (composers.childNodes.length > 0) {
            completeTable.setAttribute("bordercolor", "black");
            completeTable.setAttribute("border", "1");

            for (loop = 0; loop < composers.childNodes.length; loop++) {
                var composer = composers.childNodes[loop];
                var firstName = composer.getElementsByTagName("firstName")[0];
                var lastName = composer.getElementsByTagName("lastName")[0];
                var composerId = composer.getElementsByTagName("id")[0];
                appendComposer(firstName.childNodes[0].nodeValue,
                    lastName.childNodes[0].nodeValue,
                    composerId.childNodes[0].nodeValue);
            }
        }
    }
}
----

Функция `parseMessages()` получает в качестве параметра объектное представление документа XML, возвращаемое сервлетом `AutoComplete`. С программной точки зрения, функция исследует документ XML и извлекает `firstName`, `lastName` и `id` каждой записи, а затем передает эти данные в `appendComposer()`. Это приводит к динамическому обновлению содержимого элемента `complete-table`. Например, запись, которая генерируется и вставляется в `complete-table`, может выглядеть следующим образом:


[source,xml]
----

<tr>
    <td class="popupCell">
        <a class="popupItem" href="autocomplete?action=lookup&amp;id=12">Antonin Dvorak</a>
    </td>
</tr>
----

Динамическое обновление элемента `complete-table` соответствует последнему этапу потока процесса передачи данных, который выполняется во время обмена данными на основе Ajax. Это обновление соответствует передаче данных HTML и CSS на страницу представления, как показано на приведенной выше <<flow-diagram,блок-схеме>>.


[[displayresults]]
=== Отображение результатов

Для отображения результатов необходим файл JSP под названием `composers.jsp` Во время поиска эта страница вызывается из `AutoCompleteServlet`. Также понадобится файл `error.jsp`, который вызывается из`AutoCompleteServlet`, если композитор не был обнаружен.

*Для отображения результатов и ошибок:*

1. В окне 'Проекты' щелкните правой кнопкой мыши папку 'Веб-страницы' приложения и выберите 'Создать' > JSP. Откроется мастер создания JSP.
2. В поле "Имя файла" введите`composer` В поле "Созданный файл" должен появиться путь, который заканчивается файлом `/web/composer.jsp`.
3. Нажмите кнопку "Завершить". Файл `composer.jsp` открывается в редакторе. В папке веб-страниц в окне "Проекты" появляется путь к этому файлу.
4. Измените код заглушки в файле `composer.jsp` следующим кодом:

[source,html]
----

<html>
  <head>
    <title>Composer Information</title>

    <link rel="stylesheet" type="text/css" href="stylesheet.css">
  </head>
  <body>

    <table>
      <tr>
        <th colspan="2">Composer Information</th>
      </tr>
      <tr>
        <td>First Name: </td>
        <td>${requestScope.composer.firstName}</td>
      </tr>
      <tr>
        <td>Last Name: </td>
        <td>${requestScope.composer.lastName}</td>
      </tr>
      <tr>
        <td>ID: </td>
        <td>${requestScope.composer.id}</td>
      </tr>
      <tr>
        <td>Category: </td>
        <td>${requestScope.composer.category}</td>
      </tr>      
    </table>

    <p>Go back to <a href="index.html" class="link">application home</a>.</p>
  </body>
</html>
----

*Примечание.* Если страница индекса имеет вид  ``index.jsp`` , потребуется изменить ссылку для возврата на эту страницу.



. Создайте еще один файл JSP в папке с веб-страницами проекта. Назовите файл `error.jsp`.


. Измените код заглушки в файле `error.jsp` следующим кодом:

[source,html]
----

<!DOCTYPE html>

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="stylesheet.css">      
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Seach Error</title>
    </head>
    <body>
        <h2>Seach Error</h2>
        
        <p>An error occurred while performing the search. Please try again.</p>
        
        <p>Go back to <a href="index.html" class="link">application home</a>.</p>
    </body>
</html>
----

*Примечание.* Если страница индекса имеет вид  ``index.jsp`` , потребуется изменить ссылку для возврата на эту страницу.


[[stylesheet]]
=== Присоединение таблицы стилей

На данном этапе создан весь код, необходимый для реализации функциональных возможностей приложения. Теперь для проверки результатов следует попытаться запустить приложение.

1. В окне "Проекты" щелкните правой кнопкой мыши узел проекта и выберите команду "Выполнить". Будет выполнена перекомпиляция проекта и его развертывание на целевом сервере. Откроется браузер, в котором отображается страница-указатель. 

image::images/no-css.png[title="Успешное развертывание без таблицы стилей"]

Для добавления таблицы стилей к приложению создайте файл `.css` и создайте ссылку на него на страницах презентации. При работе с файлами `.css` IDE предоставляет поддержку функции автозавершения кода, а также следующие окна, которые используются для создания и изменения правил стилей.

* *Окно 'Стили CSS'.* Окно стилей CSS позволяет редактировать объявления правил для элементов HTML и средств выбора в файле CSS.
* *Диалоговое окно 'Создание правил CSS'.* Диалоговое окно 'Создание правил CSS' позволяет создавать новые правила в таблице стилей CSS.
* *Диалоговое окно 'Добавить свойство CSS'.*Диалоговое окно 'Добавить свойство CSS' позволяет добавлять объявления к правилу CSS в таблице стилей, добавляя свойства и значения.

Для добавления таблицы стилей к приложению выполните следующие действия.

1. В окне "Проекты" щелкните правой кнопкой мыши узел проекта и выберите "Создать > Каскадная таблица стилей". Если пункт "Каскадная таблица стилей" отсутствует в списке, выберите "Прочие". Затем выберите "Каскадная таблица стилей" из категории "Web" в мастере создания файла.
2. В текстовом поле 'Имя файла CSS' введите *`stylesheet`*. Нажмите кнопку "Завершить".

Новый файл будет создан и открыт в редакторе.



. Введите следующие правила `stylesheet.css` в редакторе. При необходимости просмотра предложений можно использовать поддержку автозавершения кода среды IDE путем нажатия CTRL+ПРОБЕЛ.

[source,java]
----

body {
   font-family: Verdana, Arial, sans-serif;
   font-size: smaller;
   padding: 50px;
   color: #555;
   width: 650px;
}

h1 {
   letter-spacing: 6px;
   font-size: 1.6em;
   color: #be7429;
   font-weight: bold;
}

h2 {
   text-align: left;
   letter-spacing: 6px;
   font-size: 1.4em;
   color: #be7429;
   font-weight: normal;
   width: 450px;
}

table {
   width: 550px;
   padding: 10px;
   background-color: #c5e7e0;
}

td {
   padding: 10px;
}

a {
  color: #be7429;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.popupBox {
  position: absolute;
  top: 170px;
  left: 140px;
}

.popupCell {
   background-color: #fffafa;
}

.popupCell:hover {
  background-color: #f5ebe9;
}

.popupItem {
  color: #333;
  text-decoration: none;
  font-size: 1.2em;
}
----


. Откройте окно стилей CSS, выбрав 'Окно' > 'Web'> 'Стили CSS'. 

image::images/css-styles-window.png[title="Окно 'Стили CSS', в котором отображаются свойства правила h1"]

Можно использовать окно 'Стили CSS' для быстрого просмотра свойств и редактирования правил стилей. При выборе правила в верхней панели окна 'Стиль CSS' отображаются свойства правила в нижней панели. Можно добавить CSS правила к таблице стилей, нажав значок 'Изменить правила CSS' (image:images/newcssrule.png[title="Значок 'Новое свойство CSS'"]) на панели инструментов в верхней панели. Можно изменять правила в нижней панели путем редактирования таблицы свойств и добавления свойств, щелкнув значок 'Добавить свойство' (image:images/newcssproperty.png[title="Значок 'Новое свойство CSS'"]) на панели инструментов в нижней панели.



. Перейдите на страницу индекса в редакторе исходного кода и добавьте ссылку на страницу стилей между тегами `<head>`.

[source,java]
----

<link rel="stylesheet" type="text/css" href="stylesheet.css">
----


. Добавьте класс `popupBox`, определенный в таблице стилей, к элементу `complete-table` (начертание изменится на *жирное*).

[source,xml]
----

<tr>
    <td id="auto-row" colspan="2">
        <table id="complete-table" *class="popupBox"* />
    </td>
</tr>
----

Можно использовать функцию автозавершения кода в редакторе для выбора правила стиля, которое требуется применить к средству выбора.

image::images/css-completion.png[title="Автозавершение кода CSS в редакторе"]

Как указано в `stylesheet.css`, согласно этому правилу элемент `complete-table` располагается таким образом, что отображается справа от родительского элемента.

При сохранении страницы индекса приложение автоматически повторно развертывается на сервере. Если страница все еще открыта в браузере, можно перезагрузить ее, чтобы увидеть, что страница теперь визуализируется в соответствии с правилами в таблице стилей CSS.



[[run]]
== Выполнение проекта

При повторном запуске приложения текст в браузере отображается с использованием только что созданной таблицы стилей. При каждом вводе символа на сервер передается асинхронный запрос, который возвращается с данными XML, подготовленными при помощи `AutoCompleteServlet`. При вводе последующих символов количество вариантов имен композиторов уменьшается, и на экране появляется новый список соответствий.


[[httpMonitor]]
=== Использование средства наблюдения HTTP Server Monitor

Можно использовать средство наблюдения HTTP Server Monitor среды IDE для проверки взаимодействия с HTTP, которое заключается в передаче запросов и ответов между клиентским приложением и сервером. В HTTP Server Monitor отображается информация, например, заголовки клиентского приложения и сервера, свойства сеанса, подробные сведения о файлах cookie, а также параметры запроса.

Перед началом использования средства HTTP Monitor его следует сначала активировать на используемом сервере.

1. Откройте окно "Серверы", выбрав в главном меню "Сервис" > "Серверы".
2. На левой панели выберите сервер, который используется для проекта. Затем на правой панели выберите режим "Enable HTTP Monitor".

*Примечание.* Этот параметр отображается на вкладке 'Общие' для сервера GlassFish. На сервере Tomcat он расположен на вкладке "Соединение".



. Выберите "Close" (Закрыть).

Если сервер уже запущен, необходимо перезапустить его для применения изменений. Сервер можно перезапустить, открыв окно 'Службы' (Window > 'Службы'), то щелкните правой кнопкой мыши сервер ниже узла 'Серверы' и выберите 'Перезапуск'.

Теперь при повторном выполнении приложения в нижней области среды IDE откроется HTTP Monitor. Для просмотра информации относительно каждого запроса можно выбрать запись на левой панели, затем перейти на соответствующие вкладки в главном окне.

image::images/http-monitor.png[title="Монитор сервера HTTP отображается в среде IDE"]

Можно проверить данные XML, полученные от сервера в результате асинхронного запроса, переданного при вводе пользователем символа в поле автозавершения.

1. В представлении дерева на левой стороне монитора HTTP щелкните правой кнопкой мыши запись запроса и выберите 'Воспроизвести'.

Ответ генерируется в браузере. В этом случае, поскольку ответ состоит из данных XML, данные в браузере отображаются с использованием собственной программы просмотра XML.

image::images/xml-data.png[title="Монитор сервера HTTP отображается в среде IDE"]


[[conclusion]]
=== Заключение

Это заключительный раздел руководства "Введение в Ajax". Авторы полагают, что к настоящему времени у пользователей сформировалось четкое представление о том, каким образом Ajax поддерживает обмен информацией по HTTP в фоновом режиме и выполняет динамическое обновление страницы на основе полученных результатов.

Следует отметить, что разработанное приложение имеет ряд недостатков, например, при выборе имени композитора из поля автозавершения пользователь не получает какого-либо результата. Для получения дополнительных сведений о реализации с использованием технологии JSP link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaScript%252FMyAjaxApp.zip[+загрузите проект решения+]. Кроме того, существует возможность выполнения проверки допустимости на стороне сервера в целях предотвращения запроса пользователем имени, не существующего в хранилище данных. Для более подробного изучения этих функций обратитесь к другим учебным курсам link:../../trails/java-ee.html[+учебной карты по Java EE &amp; Java Web+].

link:/about/contact_form.html?to=3&subject=Feedback:%20Introduction%20to%20Ajax%20(Java)[+Мы ждем ваших отзывов+]



[[seeAlso]]
== Дополнительные сведения

Дополнительные сведения о технологиях Ajax и Java приведены в следующих материалах на сайте link:https://netbeans.org/[+www.netbeans.org+]:

* link:../../docs/web/js-toolkits-jquery.html[+Использование jQuery для улучшения внешнего вида веб-страницы и упрощения работы с ней+]. Показывает способ интеграции ядра jQuery и библиотек пользовательского интерфейса в проект NetBeans.
* link:../../docs/web/js-toolkits-dojo.html[+Подключение дерева Dojo к списку ArrayList с помощью JSON+]. Данный документ основан на практическом примере JavaOne. В нем демонстрируются способы внедрения элемента оформления "Дерево Dojo" в веб-страницу и способы управления реакцией стороны сервера на запросы дерева в формате JSON.
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG2272[+Создание файлов JavaScript+] в документе _Разработка приложений в IDE NetBeans_
* link:quickstart-webapps-wicket.html[+Введение в веб-платформу Wicket+]. Введение в процесс создания повторно используемых компонентов и применения их в веб-приложении на основе платформы Wicket.
