Java-программирование Internet-приложений
Общий курс по специальности «Информационные технологии» (010400) [магистратура]
Программа курса
Составители: проф. Гарнаев А. Ю., доц. Ковшов А. М.
Содержание
1. Основы и особенности программирования на языке Java
Возможности языка и области применения Java-приложений.
Структура файла с исходным текстом, пакеты, классы, методы, поля, переменные.
Типы данных. Простые и объектные типы. Блоки, метки, условия, циклы, переключатели.
Массивы. Передача параметров в методы. Константы: конечные поля, методы, классы.
2. Объектно-ориентированное программирование
Классы и интерфейсы. Абстрактные классы и методы. Статические и нестатические поля и методы. Объекты классов. Инкапсуляция, наследование, полиморфизм. Конструкторы. Особенности использования конструкторов при наследовании. Сборка мусора. Модификаторы доступа: частный, пакетный, защищенный, общий; области видимости. Особенности полиморфизма для статических и частных методов. Внутренние классы. Примеры.
3. Создание приложений
Консольные и оконные (GUI) приложения. Исключения, классы исключений, обработка ошибок при помощи исключений, блоки try, catch, finally; создание собственных исключений. Подпроцессы (нити), способы создания нитей, жизненный цикл нити, приоритеты; синхронизация, обмен данными между нитями, ожидание, уведомление. Особенности отладки подпроцессов. Потоки ввода и вывода. Иерархия классов ввода-вывода. Работа с файлами и каталогами. Объектный ввод-вывод, сериализация. События, классы событий, обработка событий, классы-слушатели событий, создание объектов-слушателей. Анонимные классы.
4. Апплеты
Отличие апплетов от оконных приложений, ограничения, накладываемые на апплеты. HTML код для запуска апплета, тэги
Класс Applet, жизненный цикл апплета, методы, соответствующие жизненным циклам.
Графические возможности, пакет java.awt: иерархия классов. Компоненты визуального интерфейса: кнопки, флажки, переключатели, полосы прокрутки. Прорисовка линий, работа с цветом, выбор шрифта. Двойная буферизация при прорисовке изображений. Удаленная загрузка изображений. Применение апплетов в Интернет-приложениях.
5. Сервлеты
Особенности работы сервлета, жизненные циклы. Обращение к сервлету через веб-браузер. Объекты запрос (Request) и ответ (Response), свойства запроса и ответа. Выходной поток ответа. HTML текст. Возможности сервлетов. Сессия (Session), свойства сессии, связывание объектов с сессией. Возможности обмена данными между апплетом и сервлетом. Преимущества объектного обмена данными. JSP - особенности синтаксиса и отличия от сервлетов.
6. Клиентские и серверные приложения
Отличия клиентских и серверных приложений от апплетов и сервлетов. Пакет java.net. Классы сокет (Socket) и серверный сокет (ServerSocket). Сетевой адрес и порт. Отличия и общие черты клиентского и серверного приложений. Установка связи между клиентским и серверным приложениями. Обмен данными между клиентским и серверным приложениями, потоки ввода-вывода. Создание многопользовательского серверного приложения.
7. Работа с базами данных
Пакет java.sql. Основные черты реляционных баз данных. Основы языка SQL, виды запросов, построение запроса. Построение Java-приложения, ра. Классы Connection, Statement, ResultSet. Отображение полученных данных средствами графического пользовательского интерфейса. Построение трехслойного доступа к базе данных через веб-интерфейс: апплет-сервлет-база данных.
Список рекомендуемой литературы:
- П.Ноутон, Г.Шилдт Java2. Наиболее полное руководство
- Хорстманн К.С.,Корнелл Г. Библиотека профессионала. Java 2 Тонкости программирования 2 (Серия Java от Sun Microsystems Press)
- Веб-ресурс фирмы Sun Microsystems java.sun.com .