ebook img

Java. Промышленное программирование PDF

711 Pages·2007·7.18 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Java. Промышленное программирование

И.Н. Блинов, В.С. Романчик Java . ПРОМЫШЛЕННОЕ ПРОГРАММИРОВАНИЕ Практическое пособие Минск «УниверсалПресс» 2007 УДК 004.434 ББК 32.973.26-018.2 Б69 Авторы: доцент кафедры Численных методов и программирования БГУ, кандидат физико-математических наук И.Н. Блинов, доцент, зав. кафедрой Численных методов и программирования БГУ, кандидат физико-математических наук В.С. Романчик Рецензенты: доцент, кандидат физико-математических наук И.М. Галкин, доцент, кандидат технических наук А.Е. Люлькин Блинов, И.Н. Б69 Java. Промышленное программирование : практ. пособие / И.Н. Блинов, В.С. Романчик. – Минск : УниверсалПресс, 2007. – 704 с. ISBN 978-985-6699-63-7 Пособие предназначено для программистов, начинающих и продолжающих изучение тех- нологий Java SE 6 и J2EE. В его первой части рассматриваются основы языка Java и концепции объектно-ориентированного программирования. Во второй части изложены важнейшие аспекты применения библиотек классов языка Java, включая файлы, коллекции, сетевые и многопоточ- ные приложения, а также взаимодействие с ХМL. В третьей части приведены основы програм- мирования распределенных информационных систем с применением сервлетов, JSP, баз данных и собственных тегов разработчика. В конце каждой главы даются тестовые вопросы по материалу главы и задания для выпол- нения. В приложениях приведены дополнительные материалы, относящиеся к использованию HTML, XML, JavaScript, а также краткое описание популярных технологий Struts и Hibernate для разработки распределенных систем, объединяющих возможности J2EE и XML. УДК 004.434 ББК 32.973.26-018.2 © Блинов И.Н., Романчик В.С., 2007 ISBN 978-985-6699-63-7 © Оформление. УП «УниверсалПресс», 2007 КРАТКОЕ СОДЕРЖАНИЕ Предисловие ............................................................................................................... 10 Часть 1. ОСНОВЫ ЯЗЫКА JAVA Глава 1. ВВЕДЕНИЕ В КЛАССЫ И ОБЪЕКТЫ ................................................. 11 Глава 2. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ ........................................................ 27 Глава 3. КЛАССЫ .................................................................................................. 50 Глава 4. НАСЛЕДОВАНИЕ И ПОЛИМОРФИЗМ .............................................. 78 Глава 5. ПРОЕКТИРОВАНИЕ КЛАССОВ ......................................................... 105 Глава 6. ИНТЕРФЕЙСЫ И ВНУТРЕННИЕ КЛАССЫ ...................................... 139 Часть 2. ИСПОЛЬЗОВАНИЕ КЛАССОВ И БИБЛИОТЕК Глава 7. ОБРАБОТКА СТРОК ............................................................................. 160 Глава 8. ИСКЛЮЧЕНИЯ И ОШИБКИ ............................................................... 190 Глава 9. ФАЙЛЫ. ПОТОКИ ВВОДА/ВЫВОДА ................................................ 205 Глава 10. КОЛЛЕКЦИИ ......................................................................................... 229 Глава 11. ГРАФИЧЕСКИЕ ИНТЕРФЕЙСЫ ПОЛЬЗОВАТЕЛЯ ........................ 259 Глава 12. СОБЫТИЯ .............................................................................................. 275 Глава 13. ЭЛЕМЕНТЫ КОМПОНОВКИ И УПРАВЛЕНИЯ ............................. 287 Глава 14. ПОТОКИ ВЫПОЛНЕНИЯ ................................................................... 328 Глава 15. СЕТЕВЫЕ ПРОГРАММЫ .................................................................... 350 Глава 16. XML & JAVA ......................................................................................... 364 Часть 3. ТЕХНОЛОГИИ РАЗРАБОТКИ WEB-ПРИЛОЖЕНИЙ Глава 17. ВВЕДЕНИЕ В СЕРВЛЕТЫ И JSP ........................................................ 414 Глава 18. СЕРВЛЕТЫ ............................................................................................ 426 Глава 19. JAVA SERVER PAGES ......................................................................... 446 Глава 20. JDBC ....................................................................................................... 479 Глава 21. CЕССИИ, СОБЫТИЯ И ФИЛЬТРЫ .................................................... 504 Глава 22. ПОЛЬЗОВАТЕЛЬСКИЕ ТЕГИ ............................................................. 523 УКАЗАНИЯ И ОТВЕТЫ ....................................................................................... 536 Приложение 1. НTML ............................................................................................. 552 Приложение 2. JavaScript ........................................................................................ 574 Приложение 3. UML ............................................................................................... 599 Приложение 4. Базы данных и язык SQL .............................................................. 608 Приложение 5. Hibernate ............................................................................................. 625 Приложение 6. Struts ............................................................................................... 645 Приложение 7. Журнал сообщений (Logger) ........................................................ 667 Приложение 8. Apache Ant ..................................................................................... 676 Приложение 9. Портлеты ....................................................................................... 690 Список рекомендуемой литературы и источников ............................................... 703 СОДЕРЖАНИЕ Предисловие ............................................................................................................... 10 Часть 1. ОСНОВЫ ЯЗЫКА JAVA Глава 1. ВВЕДЕНИЕ В КЛАССЫ И ОБЪЕКТЫ ............................................. 11 Основные понятия ООП ................................................................... 11 Язык Java ........................................................................................... 14 Нововведения версий 5.0 и 6.0 ........................................................ 15 Простое приложение ........................................................................ 16 Классы и объекты ............................................................................. 19 Сравнение объектов .......................................................................... 20 Консоль .............................................................................................. 21 Простой апплет ................................................................................. 23 Задания к главе 1 ............................................................................... 24 Тестовые задания к главе 1 .............................................................. 25 Глава 2. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ ..................................................... 27 Базовые типы данных и литералы ................................................... 27 Документирование кода ................................................................... 29 Операторы ......................................................................................... 31 Классы-оболочки .............................................................................. 34 Операторы управления ..................................................................... 37 Массивы ............................................................................................. 39 Класс Маth ......................................................................................... 43 Управление приложением ................................................................ 44 Задания к главе 2 ............................................................................... 47 Тестовые задания к главе 2 .............................................................. 49 Глава 3. КЛАССЫ .................................................................................................. 50 Переменные класса и константы ..................................................... 50 Ограничение доступа ........................................................................ 51 Конструкторы .................................................................................... 52 Методы .............................................................................................. 54 Статические методы и поля ............................................................. 55 Модификатор final ............................................................................ 56 Абстрактные методы ........................................................................ 57 Модификатор native .......................................................................... 57 Модификатор synchronized .............................................................. 57 Логические блоки ............................................................................. 58 Перегрузка методов .......................................................................... 59 Параметризованные классы ............................................................. 60 Параметризованные методы ............................................................ 65 Методы с переменным числом параметров .................................... 65 Перечисления .................................................................................... 67 Аннотации ......................................................................................... 70 Задания к главе 3 ............................................................................... 72 Тестовые задания к главе 3 .............................................................. 76 Глава 4. НАСЛЕДОВАНИЕ И ПОЛИМОРФИЗМ ........................................... 78 Наследование .................................................................................... 78 Использование final .......................................................................... 81 Использование super и this ............................................................... 82 Переопределение методов и полиморфизм .................................... 83 Методы подставки ............................................................................ 86 Полиморфизм и расширяемость ...................................................... 86 Статические методы и полиморфизм .............................................. 88 Абстракция и абстрактные классы .................................................. 89 Класс Object ....................................................................................... 91 Клонирование объектов ................................................................... 95 “Сборка мусора” и освобождение ресурсов ................................... 97 Задания к главе 4 ............................................................................... 99 Тестовые задания к главе 4 ............................................................. 102 Глава 5. ПРОЕКТИРОВАНИЕ КЛАССОВ ...................................................... 105 Шаблоны проектирования GRASP ................................................. 105 Шаблон Expert .................................................................................. 105 Шаблон Creator ................................................................................ 107 Шаблон Low Coupling ..................................................................... 108 Шаблон High Cohesion .................................................................... 111 Шаблон Controller ............................................................................ 113 Шаблоны проектирования GoF ...................................................... 114 Порождающие шаблоны ................................................................. 115 Шаблон Factory ................................................................................ 115 Шаблон AbstractFactory ................................................................... 117 Шаблон Builder ................................................................................ 120 Шаблон Singleton ............................................................................. 122 Структурные шаблоны .................................................................... 123 Шаблон Bridge ................................................................................. 123 Шаблон Decorator ............................................................................ 125 Шаблоны поведения ........................................................................ 127 Шаблон Command ............................................................................ 128 Шаблон Strategy ............................................................................... 131 Шаблон Observer .............................................................................. 133 Антишаблоны проектирования ...................................................... 135 Задания к главе 5 .............................................................................. 137 Тестовые задания к главе 5 ............................................................. 137 Глава 6. ИНТЕРФЕЙСЫ И ВНУТРЕННИЕ КЛАССЫ ................................. 139 Интерфейсы ...................................................................................... 139 Пакеты .............................................................................................. 142 Статический импорт ........................................................................ 145 Внутренние классы .......................................................................... 146 Внутренние (inner) классы .............................................................. 147 Вложенные (nested) классы ............................................................. 152 Анонимные (anonymous) классы .................................................... 153 Задания к главе 6 .............................................................................. 156 Тестовые задания к главе 6 ............................................................. 158 Часть 2. ИСПОЛЬЗОВАНИЕ КЛАССОВ И БИБЛИОТЕК Глава 7. ОБРАБОТКА СТРОК ........................................................................... 160 Класс String ....................................................................................... 160 Классы StringBuilder и StringBuffer ................................................ 165 Форматирование строк .................................................................... 167 Лексический анализ текста ............................................................. 173 Регулярные выражения ................................................................... 174 Интернационализация текста ......................................................... 178 Интернационализация чисел ........................................................... 181 Интернационализация дат ............................................................... 182 Задания к главе 7 .............................................................................. 184 Тестовые задания к главе 7 ............................................................. 188 Глава 8. ИСКЛЮЧЕНИЯ И ОШИБКИ ............................................................ 190 Иерархия и способы обработки ...................................................... 190 Оператор throw ................................................................................. 195 Ключевое слово finally .................................................................... 197 Собственные исключения ............................................................... 198 Наследование и исключения ........................................................... 199 Отладочный механизм assertion ..................................................... 201 Задания к главе 8 .............................................................................. 202 Тестовые задания к главе 8 ............................................................. 203 Глава 9. ФАЙЛЫ. ПОТОКИ ВВОДА/ВЫВОДА ............................................. 205 Класс File .......................................................................................... 205 Байтовые и символьные потоки ввода/вывода .............................. 207 Предопределенные потоки .............................................................. 212 Сериализация объектов ................................................................... 214 Консоль ............................................................................................. 218 Класс Scanner ................................................................................... 219 Архивация ........................................................................................ 222 Задания к главе 9 .............................................................................. 226 Тестовые задания к главе 9 ............................................................. 227 Глава 10. КОЛЛЕКЦИИ ...................................................................................... 229 Общие определения ......................................................................... 229 Списки .............................................................................................. 231 Deque ................................................................................................. 239 Множества ........................................................................................ 240 Карты отображений ......................................................................... 245 Унаследованные коллекции ............................................................ 249 Класс Collections .............................................................................. 250 Класс Arrays ..................................................................................... 253 Задания к главе 10 ............................................................................ 255 Тестовые задания к главе 10 ........................................................... 257 Глава 11. ГРАФИЧЕСКИЕ ИНТЕРФЕЙСЫ ПОЛЬЗОВАТЕЛЯ ................ 259 Основы оконной графики ................................................................ 259 Апплеты ............................................................................................ 261 Фреймы ............................................................................................. 270 Задания к главе 11 ............................................................................ 272 Тестовые задания к главе 11 ........................................................... 273 Глава 12. СОБЫТИЯ ............................................................................................ 275 Основные понятия ........................................................................... 275 Классы-адаптеры ............................................................................. 281 Задания к главе 12 ............................................................................ 284 Тестовые задания к главе 12 ........................................................... 285 Глава 13. ЭЛЕМЕНТЫ КОМПОНОВКИ И УПРАВЛЕНИЯ ....................... 287 Менеджеры размещения ................................................................. 287 Элементы управления ..................................................................... 293 Визуальные компоненты JavaBeans ............................................... 318 Задания к главе 13 ............................................................................ 325 Тестовые задания к главе 13 ........................................................... 326 Глава 14. ПОТОКИ ВЫПОЛНЕНИЯ ................................................................ 328 Класс Thread и интерфейс Runnable ............................................... 328 Жизненный цикл потока ................................................................. 329 Управление приоритетами и группы потоков ............................... 330 Управление потоками ...................................................................... 331 Потоки-демоны ................................................................................ 333 Потоки в графических приложениях ............................................. 335 Методы synchronized ....................................................................... 337 Инструкция synchronized ................................................................. 340 Состояния потока ............................................................................. 342 Потоки в J2SE 5 ................................................................................ 344 Задания к главе 14 ............................................................................ 347 Тестовые задания к главе 14 ........................................................... 348 Глава 15. СЕТЕВЫЕ ПРОГРАММЫ ................................................................ 350 Поддержка Интернет ....................................................................... 350 Сокетные соединения по протоколу TCP/IP ................................. 354 Многопоточность ............................................................................. 356 Датаграммы и протокол UDP ......................................................... 359 Задания к главе 15 ............................................................................ 361 Тестовые задания к главе 15 ........................................................... 362 Глава 16. XML & JAVA ........................................................................................ 364 DTD ................................................................................................... 367 Схема XSD ........................................................................................ 370 XML-анализаторы ............................................................................ 380 SAX-анализаторы ............................................................................ 381 Древовидная модель ........................................................................ 388 Xerces ................................................................................................ 388 JDOM ................................................................................................ 392 StAX .................................................................................................. 399 XSL .................................................................................................... 404 Элементы таблицы стилей .............................................................. 407 Задания к главе 16 ............................................................................ 408 Тестовые задания к главе 16 ........................................................... 412 Часть 3. ТЕХНОЛОГИИ РАЗРАБОТКИ WEB-ПРИЛОЖЕНИЙ Глава 17. ВВЕДЕНИЕ В СЕРВЛЕТЫ И JSP .................................................... 414 Первый сервлет ................................................................................ 414 Запуск контейнера сервлетов и размещение проекта ................... 416 Первая JSP ........................................................................................ 419 Взаимодействие сервлета и JSP ...................................................... 421 Задания к главе 17 ............................................................................ 424 Тестовые задания к главе 17 ........................................................... 424 Глава 18. СЕРВЛЕТЫ .......................................................................................... 426 Интерфейс ServletContext ................................................................ 426 Интерфейс ServletConfig ................................................................. 427 Интерфейсы ServletRequest и HttpServletRequest .......................... 428 Интерфейсы ServletResponse и HttpServletResponse ..................... 432 Обработка запроса ........................................................................... 432 Многопоточность ............................................................................. 436 Электронная почта ........................................................................... 439 Задания к главе 18 ............................................................................ 443 Тестовые задания к главе 18 ........................................................... 444 Глава 19. JAVA SERVER PAGES ....................................................................... 446 Стандартные элементы action ......................................................... 447 JSP-документ .................................................................................... 449 JSTL ................................................................................................... 451 Неявные объекты ............................................................................. 453 JSTL core ............................................................................................ 454 JSTL fmt ........................................................................................... 458 JSTL sql ............................................................................................. 461 JSTL xml ........................................................................................... 461 Включение ресурсов ........................................................................ 462 Обработка ошибок ........................................................................... 463 Извлечение значений полей ............................................................ 465 Технология взаимодействия JSP и сервлета .................................. 467 Задания к главе 19 ............................................................................ 476 Тестовые задания к главе 19 ........................................................... 477 Глава 20. JDBC ....................................................................................................... 479 Драйверы, соединения и запросы ................................................... 479 СУБД MySQL ................................................................................... 481 Простое соединение и простой запрос ........................................... 482 Метаданные ...................................................................................... 485 Подготовленные запросы и хранимые процедуры ....................... 486 Транзакции ....................................................................................... 489 Точки сохранения ............................................................................ 493 Пул соединений ............................................................................... 495 Задания к главе 20 ............................................................................ 497 Тестовые задания к главе 20 ........................................................... 502 Глава 21. CЕССИИ, СОБЫТИЯ И ФИЛЬТРЫ ............................................... 504 Сеанс (сессия) .................................................................................. 504 Cookie ................................................................................................ 509 Обработка событий .......................................................................... 512 Фильтры ............................................................................................ 516 Задания к главе 21 ............................................................................ 519 Тестовые задания к главе 21 ........................................................... 521 Глава 22. ПОЛЬЗОВАТЕЛЬСКИЕ ТЕГИ ........................................................ 523 Простой тег ....................................................................................... 523 Тег с атрибутами .............................................................................. 526 Тег с телом ........................................................................................ 528 Элементы action ............................................................................... 531 Задания к главе 22 ............................................................................ 533 Тестовые задания к главе 22 ........................................................... 534 УКАЗАНИЯ И ОТВЕТЫ ....................................................................................... 536 Приложение 1. HTML ............................................................................................. 552 Приложение 2. JavaScript ........................................................................................ 574 Приложение 3. UML ............................................................................................... 599 Приложение 4. Базы данных и язык SQL .............................................................. 608 Приложение 5. Hibernate ............................................................................................. 625 Приложение 6. Struts ............................................................................................... 645 Приложение 7. Журнал сообщений (Logger) ........................................................ 667 Приложение 8. Apache Ant ..................................................................................... 676 Приложение 9. Портлеты ....................................................................................... 690 Список рекомендуемой литературы и источников ............................................... 703

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.