- •Структура приложений в сети Интернет. Привести схему и пояснить назначение ее основных составных частей
- •Дать характеристику протоколу http. Его соотношение с другими протоколами (Ethernet, tcp/ip, ftp, Telnet и др)
- •Формат данных в протоколе http
- •Http запрос. Виды запросов. Основные части запросу. Строка статуса запроса. Привести примеры
- •Поля строки статуса http запроса. Количество полей, их взаимное расположение, разделители.
- •Охарактеризовать методы в строке статуса http запроса. Методы
- •Метод get и его особенности. Области применения. Привести примеры. Формат url. Параметры запроса, привести примеры.
- •Метод post и его особенности. Области применения. Привести примеры. Формат url. Параметры запроса, привести примеры.
- •Охарактеризовать основные параметры, описывающие характеристики тела http запроса. Привести примеры.
- •Охарактеризовать основные параметры, описывающие характеристики http запроса. Привести примеры
- •Протокол cgi и его характеристики. Область применения. Методы передачи данных от веб сервера в cgi программу и из cgi программы веб серверу.
- •Написать php программу, которая выводит все данные полученные от веб сервера.
- •Написать php программу, которая подсчитывает количеству посещений страницы.
- •Методы получения параметров из html форм в php программе. Рассмотреть методы передачи get и post.
- •Написать php программу, которая записывает в файл ip адрес и время каждого посещения.
- •Методывзлома php сайтов. Sql иньекции.Php иньекции.
- •Язык xml, его характеристика. Сравнительная характеристика xml и html. Дать краткую характеристику сопутствующих технологий.
- •Требования к синтаксису языка xml. Привести пример правильно отформатированных документов и документов нарушающих правила форматирования.
- •Дать характеристику действительным xml документам. Привести примеры.
- •Охарактеризовать технологию xsl. Назначение и основные возможности. Привести примеры.
- •Охарактеризовать технологию xsd. Назначение и основные возможности. Привести примеры.
- •Охарактеризовать основные методы анализа xml документов. Их сравнительная характеристика и области применения.
- •Объектная модель документа (dom). Основные характеристики и назначение. Привести примеры.
- •Дать сравнительную характеристику технологиям java, которые используются для разработки клиентской и серверной частей веб приложений.
- •Контейнеры сервлетов и их назначение. Требования к контейнерам.
- •Java сервлеты. Их назначение. Способы создания. Виды сервлетов. Способы доступа к параметрам и возврата данным веб серверу.
- •Жизненный цикл Java сервлета.
- •Охарактеризовать технологию jsp. Ее сравнение с технологиями php и asp.
- •Взаимоотношение технологий Java сервлетов и jsp.
- •Структура веб приложения с использованием Java сервлетов и jsp.
- •Шаблон mvc. Его назначение и основные характеристики.
- •Охарактеризовать технологию jsf. Ее назначение и взаимоотношение с технологий Java сервлетов и jsp.
- •Основные компоненты jsf технологии. Facalets, Manadged Beans, рендереры, валидаторы, конвертеры и их взаомодействие.
- •Жизненный цикл jsf компонент. Привести схему.
- •Охарактеризовать основные слои веб приложения на java. (jpa, Entity bean, jdbc, dao, SessionBean, Facade)
Охарактеризовать технологию xsd. Назначение и основные возможности. Привести примеры.
XSD (XML Schema) — язык описания структуры XML-документа. Спецификация XML Schema является рекомендацией W3C.
Как большинство языков описания XML, XML Schema была задумана для определения правил, которым должен подчиняться документ. Но, в отличие от других языков, XML Schema была разработана так, чтобы её можно было использовать в создании программного обеспечения для обработки документов XML.
После проверки документа на соответствие XML Schema читающая программа может создать модель данных документа, которая включает:
словарь (названия элементов и атрибутов);
модель содержания (отношения между элементами и атрибутами и их структура);
типы данных.
Каждый элемент в этой модели ассоциируется с определённым типом данных, позволяя строить в памяти объект, соответствующий структуре XML-документа. Языкам объектно-ориентированного программирования гораздо легче иметь дело с таким объектом, чем с текстовым файлом.
Другим удобством XML Schema является то, что один словарь может ссылаться на другой, и, таким образом, разработчик может использовать уже существующие словари и легче устанавливать и распространять стандарты XML структуры для определённых задач (например, словарь протокола SOAP).
Файл, содержащий XML Schema, обычно имеет расширение «.xsd» (XML Schema definition).
Простой пример схемы на XML Schema, расположенной в файле "country.xsd" и описывающей данные о населении страны:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="страна" type="страна"/>
<xs:complexType name="страна">
<xs:sequence>
<xs:element name="название" type="xs:string"/>
<xs:element name="население" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Охарактеризовать основные методы анализа xml документов. Их сравнительная характеристика и области применения.
На первом этапе разбора проводится лексический анализ (lexical parsing) документа XML. Документ разбивается на отдельные неделимые элементы (tokens), которыми являются теги, служебные слова, разделители, текстовые константы. Проводится проверка полученных элементов и их связей между собой. Лексический анализ выполняют специальные программы — сканеры (scanners). Простейшие сканеры — это классы
и java.io.streamTokenizer из стандартной поставки Java 2 SDK Standard Edition.
Затем выполняется грамматический анализ (grammar parsing). При этом анализируется логическая структура документа, составляются выражения, выражения объединяются в блоки, блоки — в модули, которыми могут являться абзацы, параграфы, пункты, главы. Грамматический анализ проводят программы-анализаторы, так называемые парсеры (parsers).
Создание сканеров и парсеров — любимое развлечение программистов. За недолгую историю XML написаны десятки, если не сотни XML-парсеров. Многие из них написаны на языке Java. Все парсеры можно разделить на две группы.
В первую группу входят парсеры, проводящие анализ, основываясь на структуре дерева, отражающего вложенность элементов документа (tree- based parsing). Такие парсеры проще реализовать, но создание дерева требует большого объема оперативной памяти, ведь размер документов XML не ограничен. Необходимость частого просмотра дерева замедляет работу парсера.
Во вторую группу входят парсеры, проводящие анализ, основываясь на событиях (event-based parsing). Событием считается появление какого-либо элемента XML: открывающего или закрывающего тега, текста, содержащегося в теле элемента. При возникновении события вызывается какой- нибудь метод его обработки:
Такие парсеры сложнее в реализации, зато они не строят дерево в оперативной памяти и могут анализировать не весь документ, а его отдельные элементы вместе с вложенными в них элементами. Фактическим стандартом здесь стал свободно распространяемый набор классов и интерфейсов SAX (Simple API for XML Parsing, простой API для анализа XML), созданный Давидом Меггинсоном (David Megginson). Основной сайт этого проекта http://www.saxproject.org/. Сейчас применяется второе поколение этого набора, называемое SAX2. Набор SAX2 входит во многие парсеры, например, Xerces2.
В стандартную поставку Java 2 Standard Edition и Enterprise Edition входит JAXP — набор интерфейсов и классов для создания парсеров и преобразования документов XML. С помощью одной из частей этого набора, называемой DOM API (Document Object Model API, API объектной модели документов), можно создавать парсеры первого типа, создающие дерево объектов, а с помощью второй части набора JAXP, называемой SAX API, можно создавать SAX-парсеры. Интерфейсы и классы SAX2 собраны В пакеты org.xml.sax, org.xml.sax.ext, org.xml.sax.helpers, javax. xml. parsers. Рассмотрим их подробнее.
Анализ документов XML с помощью SAX2API
Основу SAX2 составляет интерфейс org.xml.sax.ContentHandler, СПИЫ- вающий методы обработки событий: начало документа, появление открывающего тега, появление тела элемента, появление закрывающего тега, окончание документа. При возникновении такого события SAX2 обращается к методу-обработчику события, передавая ему аргументы, содержащие информацию о событии. Дело разработчика — реализовать эти методы, обеспечив правильный анализ документа.
В начале обработки документа вызывается метод
public void startDocument () ;
В нем можно задать начальные действия по обработке документа.
При появлении символа начинающего открывающий тег, вызывается метод
public void startElement (String uri, String name, String qname, Attributes attrs) ;
В метод передается три имени, два из которых связаны с пространством имен: идентификатор пространства имен uri, имя тега без префикса name и расширенное имя с префиксом qname, а также атрибуты открывающего тега элемента attrs, если они есть. Если пространство имен не определено, то значения первого и второго аргумента null. Если нет атрибутов, то передается ссылка на пустой объект attrs.
