Архитектура Java для интерфейса API привязки XML (JAXB) упрощает процедуру доступа к документам XML из приложений, написанных на языке программирования Java. JAXB является альтернативой использованию синтаксического анализатора SAX или DOM для доступа к данным в документе XML. При доступе в документу XML с помощью JAXB сначала выполняется привязка схемы документа XML к набору классов Java, представляющих эту схему. Затем выполняется распаковка документа XML. При распаковке документа создается дерево объектов содержимого, представляющее содержимое и организацию документа.
Выберите "Файл" > "Новый проект". В области "Категории" выберите "Java". В области "Проекты" выберите "Веб-приложение" и нажмите кнопку "Далее".
Введите в поле "Имя проекта" текст JseSimpleClientReport и нажмите кнопку "Готово". В окне "Проекты" появится проект JseSimpleClientReport.
Щелкните правой кнопкой мыши узел JseSimpleClientReport в окне "Проекты" и выберите пункт "Создать" > "Прочее" > "XML" > "Привязка JAXB". Затем нажмите кнопку "Далее". Появится мастер создания привязки JAXB.
Параметры настройки мастера, представленные выше, служат следующим целям:
Имя привязки. Этот параметр предназначен для указания имени новой привязки JAXB, используемого для ее идентификации.
Проект. Отображает имя текущего проекта.
Файл схемы. Можно настроить локальный или удаленный доступ к используемому файлу.
Тип схемы. Поддерживаются следующие языки схемы XML:
Relax NG Compact – простой язык схемы XML. Синтаксис не типа XML
XML DTD – альтернатива схеме XML предыдущего поколения
WSDL – язык определения веб-служб. Язык схемы XML для определения веб-служб на основе SOAP.
Имя пакета. В этом поле указывается имя пакета, для которого создаются объекты Java.
Параметры компилятора. Доступно множество параметров компилятора, которые описываются здесь в учебном курсе по Java EE 5. Однако для мастера JAXB релевантны только перечисленные ниже параметры, для которых можно установить флажки в мастере:
nv. Строгая проверка достоверности входных схем не выполняется. По умолчанию перед обработкой выполняется строгая проверка достоверности исходной схемы. Это не означает, что во время привязки компилятор не выполняет никакой проверки достоверности; это просто означает, что производится менее строгая проверка.
readOnly. При установке этого флажка компилятор будет отмечать создаваемые исходные файлы Java как предназначенные только для чтения. По умолчанию компилятор не защищает создаваемые исходные файлы Java от записи.
npa. Подавляет создание аннотаций на уровне пакета в **/package-info.java. Установка этого флажка приводит к тому, что создаваемый код встраивает эти аннотации в другие создаваемые классы.
verbose. Используется для вывода наиболее подробных данных компилятора, например сведений о ходе выполнения и предупреждения.
quiet.Подавляет вывод данных компилятора, например сведений о ходе выполнения и предупреждений.
Использовать расширение. По умолчанию компилятор строго придерживается правил, указанных в главе "Совместимость" спецификации JAXB. В стандартном (строгом) режиме также существуют ограничения на использование только тех настроек привязки, которые определены в спецификации. При выборе этого параметра разрешается использовать расширения JAXB Vendor Extensions.
Использовать файл привязки. Позволяет импортировать и редактировать один или несколько файлов настройки привязки JAXB.
Использовать файл каталога. Позволяет импортировать и редактировать файлы каталога OASIS.
Введите текст CreditReport в поле "Имя привязки".
Установите в области "Файл схемы" флажок "Выбрать из локальной файловой системы". Нажмите кнопку "Обзор" и перейдите к файлу WSDL, который был загружен ранее при изучении данного руководства.
Разверните раскрывающийся список в области "Тип схемы" и выберите "WSDL" (если этот параметр не был выбран автоматически).
Примечание. Возможно появление предупреждения о том, что поддержка схемы WSDL является экспериментальной, для ее активации необходимо использовать параметр -wsdl. Пропустите это предупреждение.
В поле "Имя пакета" введите org.netbeans.j2ee.wsdl.creditreport. На экране должно отобразиться следующее:
Нажмите кнопку "Готово".
В среде IDE будут созданы объекты Java на основе указанного документа XML. В следующем разделе будут изучены объекты Java в среде IDE.
Просмотр выходных данных мастера JAXB
Целью этого упражнения является знакомство со средствами среды IDE NetBeans для обработки выходных данных мастера JAXB.
Как и другие артефакты, которые восстанавливаются средой IDE при каждой сборке проекта, объекты Java создаются в папке build. Откройте окно "Файлы" и перейдите к папке созданных объектов Java. Эти объекты Java также отображаются в окне "Проекты" под узлом "Созданные исходные файлы".
Кроме того, в окне "Проекты" отображается новый узел, содержащий файл WSDL, как показано ниже. Щелкните правой кнопкой мыши узел CreditReport: снова откроется диалоговое окно мастера, в котором можно изменить параметры настройки, заданные ранее.
Если настройки в мастере были изменены, можно снова создать объекты Java, как описывается ниже:
Щелкните правой кнопкой мыши файл WSDL и выберите пункт "Открыть". В редакторе откроется документ.
После создания в среде IDE объектов для документа XML можно воспользоваться некоторыми из описываемых средств для обработки созданных объектов Java.
Упаковка кода Java в схему XML
Целью этого упражнения является обработка файлов и кода, созданных в среде IDE. Необходимо указать некоторые значения в одном из созданных объектов Java и затем упаковать этот объект в документ схемы XML, отображаемый в окне вывода среды IDE.
Откройте главный класс, созданный мастером создания приложений Java. По умолчанию это класс с именем, идентичным имени проекта JseSimpleClientReport.java. Объявите в теле метода main класс CreditReport, который является одним из созданных корневых классов JAXB:
public static void main(String[] args) { CreditReport cr = new CreditReport(); }
Появится значок предупреждения. Наведите на него курсор мыши: появится всплывающая подсказка с сообщением о невозможности найти класс CreditReport в среде IDE. Щелкните значок предупреждения левой кнопкой мыши и выберите команду добавления оператора импорта в среде IDE.
Введите в тело метода main текст "cr". Среда IDE предоставляет функцию автозавершения кода для артефактов JAXB (в некоторых системах потребуется нажать сочетание клавиш CTRL+ПРОБЕЛ):
Установите некоторые значения для класса JAXB, например те, которые перечислены ниже (добавьте оператор импорта для java.math.BigInteger):
Введите в тело метода main текст "jaxbm" под добавленными значениями. Это сочетание букв обозначает "Упаковка JAXB". На экране должны быть представлены следующие параметры:
Появится красное подчеркивание, поскольку введенные символы не представляют собой слово, относящееся к языку программирования Java. Эти символы составляют шаблон кода NetBeans, используемый в следующем действии.
Среда NetBeans также прдоставляет шаблон кода для распаковки JAXB. Сокращенно – "jaxbu".
Нажмите клавишу TAB.
Символы "jaxbm" будут развернуты, и появится фрагмент кода:
Внимание! Расширение шаблона кода очень сильно зависит от конкретных условий. Нельзя нажать клавишу пробела, а затем – клавишу TAB или опечататься, исправить ошибку и нажать клавишу TAB и т.п. Необходимо правильно ввести фразу и нажать клавишу TAB. При возникновении опечатки удалите введенную фразу и введите ее заново.
Запустите приложение (щелкните правой кнопкой мыши узел проекта и выберите команду "Выполнить"). В окне "Вывод" отображается следующее:
Оставить комментарии и предложения, обратиться за поддержкой и получить информацию о последних достижениях в области функциональных возможностей разработки для Java EE с помощью среды IDE NetBeans можно в списке рассылки .