Интерфейсы Java: назначение, принцип применения.
Интерфейсыпохожи на классы, но в отличие от последних у интерфейсов нет экземплярных переменных, а в объявлениях методов отсутствует реализация (нет тела, а только сигнатура). Класс может иметь (говорят – может реализовать) любое количество интерфейсов. Если для класса определены интерфейсы, то этот класс должен реализовать полный набор методов всех интерфейсов. При этом сигнатуры таких методов класса должны точно совпадать с сигнатурами методов интерфейсов. Интерфейсы обладают своей собственной иерархией, не пересекающейся с классовой иерархией наследования. Это дает возможность реализовать один и тот же интерфейс в различных классах, никак не связанных по линии иерархии классового наследования. Исходный код интерфейсов располагается в файлах с расширениемjava. Откомпилированный файл имеет расширениеclass. Интерфейсы аналогично классам (и вместе с ними) могут храниться в пакетах и образовать их иерархии. Для интерфейсов, аналогично классам, применяется механизм наследования. При этом тоже используется ключевое словоextends.
Все переменные, объявленные в интерфейсе по умолчанию имеют свойство final(аналогconstв С++).
interface– ключевое слово, используемое для определения интерфейса.
implements– ключевое слова указывающее на то, что класс обязан реализовать интерфейс. После ключевого слова может быть перечислено несколько интерфейсов, которые реализует класс.
Обработка исключений в Java. Конструкция try/catch/finally/throw. Применение ключевого слова throws в сигнатуре метода. Иерархия исключений в Java. Встроенные исключения. Создание пользовательских исключений.
Принципы обработки исключений.
К механизму обработки исключений в Java имеют отношение 5 ключевых слов: try,catch,throw,throwsиfinally. Схема работы этого механизма следующая:tryопределят блокохраняемого кода, и если при происходитисключение, возбуждаемое операторомthrow, то оно может бытьперехваченои обработано в блоке, определяемом ключевым словомcatch (таких блоков может несколько); блокfinally определяет код, который выполняется всегда, вне зависимости от того, произошла или нет обработка исключения.
Типы исключений.
Класс Throwable самый главный. Два наследника класса: один из них — классЕхception— используется для описания исключительных ситуации, которые должны перехватываться программным кодом пользователя, другой - классError, который предназначен для описания исключительных ситуаций, которые при обычных условиях не должны перехватываться в пользовательской программе.
Неперехваченные исключения.
Некоторые объекты-исключения автоматически создаются исполняющей средой Java в результате возникновения определенных исключительных состояний (деление на нуль). Кроме того, исключения могут создаваться программистом с помощью оператора throw. Если для типа исключения не присутствует блокcatch, то такое исключение прихватывается и обрабатывается стандартным обработчиком Javа, который как правило диагностирует исключение и выводит системный программный стек.
Вложенные операторы try.
Операторы try могут быть вложенными. Вложенность может быть явной (охраняемый код try-блока содержит операторtry) и не явной (охраняемый код содержит вызов методов, содержащих внутри себя конструкцииtrycatch-throw-finally). При этом следует помнить, что, если в непосредственно следующих за try-блоком блокахcatch, не будет найден подходящий обработчик, то поиск продолжается в вызывающем методе и так далее вверх по стеку.
Методы с ключевым словом throws.
Если метод способен к порождению исключения, которое им не обрабатывается, он должен сообщить о типах этих исключений в заголовке метода (сигнатуре) с помощью ключевого слова throws.
Встроенные исключения.
Встроенные исключения определены в пакете java.lang, который неявно импортирован во все java-программы. Большинство из них являются производными классаRuntimeException, который расширяет классException. Все эти исключения называютсянеконтролируемыми исключениями(unchecked)java, они неявно включаются в спискиthrowsвсех методов.
Кроме того, есть контролируемые (checked) исключения, применение которых требует их указания в списке throws.
Создание собственных подклассов исключений.
Собственные пользовательские исключения, определяются как подкласс класса Exception. КлассException не определяет своих методов, а наследует их от классаThrowable. Собственный классисключение может переопределить эти методы.
Протокол HTTP. Стандарты HTTP. Основные методы (get, post, option, put, delete). Коды статуса ответа. Структура http-сообщений. Понятие о протоколе HTTPS.
HTTP(англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов).
Основой HTTP является технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.
HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации с веб-сайтов.
Метод HTTP (англ. HTTP Method)— последовательность из любых символов, кроме управляющих и разделителей, указывающая на основную операцию над ресурсом. Обычно метод представляет собой короткое английское слово, записанное заглавными буквами. Обратите внимание, что название метода чувствительно к регистру.
Каждый сервер обязан поддерживать как минимум методы GETиHEAD. Если сервер не распознал указанный клиентом метод, то он должен вернуть статус501 (Not Implemented).Если серверу метод известен, но он не применим к конкретному ресурсу, то возвращается сообщение с кодом405 (Method Not Allowed).В обоих случаях серверу следует включить в сообщение ответа заголовок Allow со списком поддерживаемых методов.
Кроме методов GETиHEAD, часто применяется методPOST.
- Основные спецификации Java: se, ee, me. Состав ядра системы программирования Java.
- Арифметические операторы (cpp, c#)
- Целочисленные битовые операторы (cpp, c#)
- Операторы отношения (cpp, c#)
- Булевы логические операторы (cpp, с#)
- Оболочки простых типов.
- Сравнение строк.
- Классы Java. Конструкторы, методы, наследование классов, управление доступом к методам и переменным класса, ключевые слова this и supper. Классы.
- Переменные (instance variables).
- Оператор new.
- Объявление методов.
- Конструкторы.
- Пакеты классов, понятие иерархии пакетов, переменная окружения classpath, инструкции package и import. Jarархивы. Состав jar-архивов. Применение jar-архивов.
- Интерфейсы Java: назначение, принцип применения.
- Метод get
- Метод post
- Метод opinions
- Метод put
- Метод delete
- Коды состояний
- Informational (русск. Информационный)
- Строка запроса выглядит так:
- Стартовая строка ответа сервера имеет следующий формат:
- Язык html. Основные теги. Структура html-страницы. Основные теги. Каскадные таблицы стилей.
- Язык JavaScript. Стандарты языка JavaScript. Назначение языка. Основные возможности. Понятие dhtml.
- Стандарт языка:
- Возможности языка JavaScript:
- Модель dom. Назначение модели dom. Уровни модели dom. Основные спецификации.
- Сетевые службы. Примеры сетевых служб. Служба www (Web-сервер). Примеры реализации службы www.
- Архитектура Web-приложений
- Структура спецификации Java Platform Enterprise Edition. Web-технологии.
- Технология Java Applets. Назначение. Основные возможности.
- Спецификация Servlet. Назначение. Основные возможности.
- Переопределение и переадресация запросов. Формирование get и post запросов в сервлете. Переопределение
- Генерация запросов
- Переадресация
- Спецификация jsp. Назначение. Основные возможности. Директивы, теги (определение, выполнение, скриплеты), предопределенные объекты.
- Директивы jsp.
- Объявления jsp
- Выражения jsp
- Скриплеты jsp
- Библиотека тегов. Назначение основные возможности. Структура jsp-страницы при применении библиотеки тегов.
- Дескриптор библиотеки тегов
- Применение библиотечных тегов
- Основные модели web-приложений на основе технологий сервлетов и jsp.
- Основные системные объекты (контекст, сессия, запрос, ответ). Назначение и жизненный цикл объектов. Контекст
- Сеанс связи (сессия)
- Дескриптор развертывания web-приложения. Параметры инициализации web-приложения: назначение, принципы применения.
- Атрибуты системных объектов. Назначение. Принципы применения. Атрибуты контекста
- Атрибуты запроса
- Атрибуты сессии
- Заголовки http-запросов и ответов. Назначение. Принципы применения. Заголовки запроса
- Заголовки ответа
- Фильтры (JavaFilter). Назначение. Принципы применения.
- Слушатели (JavaEventListener). Назначение. Принципы применения.
- Технология jdbc. СоставJdbc. Структура jdbcприложения. Типы jdbc-драйверов.
- Технология jaas. Назначение. Основные возможности. Роли, пользователи и их взаимосвязь.
- Структура web-клиентов серверов smtp и pop3.
- HelomailrcptdatasendquiTи другие команды.
- Структура web-приложения пересылающего файлы.
- Пример 1. Описания параметра инициации в дескрипторе приложения
- Пример 2. Получения значения параметра инициации
- Пример 3. Класс, используемый для выбора списка файлов
- Пример 4. Формирование списка файлов (ссылок) в jsp-странице
- Пример 5. Функция пересылающая клиенту Word-файл
- Методология Ajax. Структура Ajax-приложения, принципы разработки и применения.
- Понятие Application Server. Наиболее известные реализации.
- Примеры реализации