- •Основные спецификации Java: se, ee, me. Состав ядра системы программирования Java.
- •Классы Java. Конструкторы, методы, наследование классов, управление доступом к методам и переменным класса, ключевые слова this и super.
- •Пакеты классов, понятие иерархии пакетов, переменная окружения classpath, инструкции package и import. Jar-архивы. Состав jar-архивов. Применение jar-архивов.
- •Интерфейсы Java: назначение, принцип применения.
- •Протокол http. Стандарты http. Основные методы (get, post, option, put, delete). Коды статуса ответа. Структура http-сообщений. Понятие о протоколе https.
- •Язык html. Основные теги. Структура html-страницы. Основные теги. Каскадные таблицы стилей.
- •Язык JavaScript. Стандарты языка JavaScript. Назначение языка. Основные возможности. Понятие dhtml.
- •Модель dom. Назначение модели dom. Уровни модели dom. Основные спецификации.
- •Сетевые службы. Примеры сетевых служб. Служба www (Web-сервер). Примеры реализации службы www.
- •Структура спецификации Java Platform Enterprise Edition. Основные технологии.
- •Основные спецификации Java. Структура спецификации Java Platform Micro Edition. Спецификации cdlc, midp. Технология wtk.
- •Технология Java Applets. Назначение. Основные возможности.
- •Спецификация Servlet. Назначение. Основные возможности.
- •Переопределение и переадресация запросов. Формирование get и post запросов в сервлете.
- •Спецификация jsp. Назначение. Основные возможности. Директивы, теги (определение, выполнение, скриплеты), предопределенные объекты.
- •Библиотека тегов. Назначение основные возможности. Структура jsp-страницы при применении библиотеки тегов.
- •Основные модели web-приложений на основе технологий сервлетов и jsp.
- •Основные системные объекты (контекст, сессия, запрос, ответ). Назначение и жизненный цикл объектов.
- •Дескриптор развертывания web-приложения. Параметры инициализации web-приложения: назначение, принципы применения.
- •Атрибуты системных объектов. Назначение. Принципы применения.
- •Заголовки http-запросов и ответов. Назначение. Принципы применения.
- •Фильтры (Java Filter). Назначение. Принципы применения.
- •Слушатели (Java Event Listener). Назначение. Принципы применения.
- •Технология jdbc. Состав jdbc. Структура jdbc-приложения. Типы jdbc-драйверов.
- •Технология jaas. Назначение. Основные возможности. Роли, пользователи и их взаимосвязь.
- •Структура web-клиентов серверов smtp и pop3.
- •Структура web-приложения пересылающего файлы.
- •Методология Ajax. Структура Ajax-приложения, принципы разработки и применения.
- •Понятие Application Server. Наиболее известные реализации.
- •Понятие технологии ejb.
Классы Java. Конструкторы, методы, наследование классов, управление доступом к методам и переменным класса, ключевые слова this и super.
Классы. Базовым элементом объектно-ориентированного программирования в языке Java является класс. Классы в Java не обязательно должны содержать метод main. Единственное назначение этого метода — указать интерпретатору Java, откуда надо начинать выполнение программы. Для того чтобы создать класс, достаточно иметь исходный файл, в котором будет присутствовать ключевое слово class, и вслед за ним — допустимый идентификатор и пара фигурных скобок для его тела. Имя исходного файла Java должно соответствовать имени хранящегося в нем класса.
public class AAA {//class body}
Переменные (instance variables). Переменные инкапсулируются в класс путем объявления переменных между открывающей и закрывающей фигурными скобками, выделяющими в определении класса его тело.
public class AAA {
private float x;//закрытая
public double y;//открытая
protected int n;//защищённая
public static char c;//открытая статическая
}
Оператор new. Оператор new создает экземпляр указанного класса и возвращает ссылку на вновь созданный объект.
Объявление методов. Методы - это подпрограммы, присоединенные к конкретным определениям классов. Они описываются внутри определения класса на том же уровне, что и переменные объектов. При объявлении метода задаются тип возвращаемого им результата и список параметров. Методы могут быть статическими (CPP, C#), могут перегружаться (CPP, C#), могут возвращать или не возвращать (void) значение (CPP, C#).
Конструкторы. Для инициализации переменных класса в Java предусмотрены специальные методы, называемые конструкторами. Конструктор — это метод класса, который инициализирует новый объект после его создания. Имя конструктора всегда совпадает с именем класса, в котором он расположен (СPP, C#). У конструкторов нет типа возвращаемого результата(СPP, C#). Конструктор может иметь параметры и может перегружаться.
Наследование – одна из фундаментальных парадигм объектно-ориентированного подхода (еще абстракция, инкапсуляция, полиморфизм). Классы-потомки имеют возможность не только создавать свои собственные переменные и методы, но и наследовать переменные и методы классов-предков. Классы-потомки принято называть подклассами. В языке Java ради обеспечения высокой производительности и большей ясности исходного кода множественное наследование не реализовано. Непосредственного предка данного класса называют его суперклассом.
Ключевое слово this - ссылка класса самого на себя.
Ключевое слово super – ссылка на суперкласс.
Пакеты классов, понятие иерархии пакетов, переменная окружения classpath, инструкции package и import. Jar-архивы. Состав jar-архивов. Применение jar-архивов.
Пакеты - это контейнер, который используется для того, чтобы изолировать имена классов. Другими словами это механизм, который служит как для работы с пространством имен, так и для ограничения видимости.
Оператор package - сообщает транслятору, в каком пакете должны определяться содержащиеся в данном файле классы. Если оператор package не указан, классы попадают в безымянное пространство имен, используемое по умолчанию. Если имя пакета pack1, то исходный файл, должен находится в директории XXX/pack1, где XXX – путь, определяющий корневой каталог, относительно которого выстраиваются каталоги пакетов. Каталог, который javac/java будет рассматривать в качестве корневого определяется с помощью переменной окружения CLASSPATH. С помощью переменной окружения CLASSPATH можно задать несколько корневых каталогов, разделив их точкой с запятой (как значение переменной окружения PATH).
Использование класса, расположенного в пакете.
Пакета
могут образовать иерархию.
Соответствующую иерархию должны
образовывать каталоги, в которых
располагаются классы, находящиеся в
пакете.
На каждом уровне пакетов может находиться любое количество файлов
import - оператор, позволяющий сократить имена классов, расположенных в пакетах
Уровни доступа к классу его элементам регулируется с помощью ключевых слов public, protected, private. Элемент, объявленный public, доступен из любого места. Все, что объявлено private, доступно только внутри класса, и нигде больше. Если у элемента вообще не указан модификатор уровня доступа, то такой элемент будет виден из подклассов и классов того же пакета (такой уровень доступа используется в языке Java по умолчанию). Если необходимо, чтобы элемент был доступен извне пакета, но только подклассам того класса, которому он принадлежит, вам нужно объявить такой элемент protected. Если требуется, чтобы элемент был доступен только подклассам, причем независимо от того, находятся ли они в данном пакете или нет — применяется комбинация private protected.
Запуск на исполнение в командной строке требует установки переменной окружения CLASSPATH, указывающей на корни пакетов, либо применения ключа –сp, имеющего то же предназначение.
Компиляция в командной строке, требует установки ключа –classpath, указывающего на корни пакетов
JAR-архивы – файлы с упакованными данными (текстовые файлы, class-файлы, файлы с графической информацией и пр.), которые обычно используются для хранения частей java-программ. Применение JAR-архивов позволяет:
повысить эффективность загрузки: вместо нескольких файлов отдельных классов загружается единственный файл JAR-архива;
улучшить хранилище файлов: файлы классов хранятся в одном сжатом файле архива;
обеспечить независимость от платформы: построение JAR-архивов базируется на использовании популярной программы PKZIP сжатия файлов; JAR-файлы могут создаваться и сохраняться на любой компьютерной платформе;
повысить защищенность: в JAR-файл можно поместить цифровую подпись, гарантирующую пользователю целостность архива.
Создание JAR-архивов возможно с помощью любой поддерживающей формат PKZIP программы. JAR-файл отличается от zip-файла наличием дополнительного текстового файла, называемого файлом описания (manifest file). Этот файл содержит сведения обо всех помещённых в данный архив файлах. В состав файла описания должны входить определённые элементы, в частности он должен включать:
номер версии стандарта JAR (Manifest-Version);
минимальный номер версии утилиты JAR, которая сможет прочитать этот архив (Required-Version);
отдельная запись для любого, помещённого в архив файла.
В составе JDK (Java Developer Kit) для создания JAR архивов есть специализированная утилита с именем jar.
Перечень параметров утилиты jar и формат ее вызова может быть получен с помощью запуска утилиты без параметров.
Архивирование пакетов
Базовый формат команды для создания JAR-файла
Вызов утилиты jar, приведенный на рисунке создает jar-файл с именем AAA.jar, с упакованными в него файлами AAA.class, BBB.class и CCC.class, а также файлом MANIFEST.MF.
Получить содержимое jar-файла можно с помощью следующей команды.
