Слайд 2
![Eclipse](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-1.jpg)
Слайд 3
![Полезные ссылки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-2.jpg)
Слайд 4
![Версии IDE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-3.jpg)
Слайд 5
![Установка. Шаг-1 – Качаем архив](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-4.jpg)
Установка.
Шаг-1 – Качаем архив
Слайд 6
![Установка. Шаг-2 – Распаковываем архив.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-5.jpg)
Установка.
Шаг-2 – Распаковываем архив.
Слайд 7
![Запуск. Шаг-1 – eclipse.exe.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-6.jpg)
Запуск.
Шаг-1 – eclipse.exe.
Слайд 8
![Запуск. No JDK – No SDK.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-7.jpg)
Слайд 9
![Запуск. Шаг-2 - заставка](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-8.jpg)
Слайд 10
![Запуск. Шаг-3 – workspace Выбираем каталог для Workspace Проверяем выбранный](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-9.jpg)
Запуск.
Шаг-3 – workspace
Выбираем каталог для Workspace
Проверяем выбранный путь
Устанавливаем флажок «По умолчанию»
Нажимаем
кнопку OK
Слайд 11
![Запуск. Шаг-3.1 – workspace на диске](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-10.jpg)
Запуск.
Шаг-3.1 – workspace на диске
Слайд 12
![Запуск. Шаг-4 – Welcome Page Закрываем, как только надоест восхищаться.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-11.jpg)
Запуск.
Шаг-4 – Welcome Page
Закрываем, как только надоест восхищаться.
Слайд 13
![Начало работы – Главное окно](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-12.jpg)
Начало работы – Главное окно
Слайд 14
![Главное окно – «Как хочу» окно](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-13.jpg)
Главное окно – «Как хочу» окно
Слайд 15
![Project Explorer Область для управления проектами. Отображает проекты текущего Workspace.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-14.jpg)
Project Explorer
Область для управления проектами.
Отображает проекты текущего Workspace.
Позволяет:
Создать \ Удалить проект.
Открыть
\ Закрыть проект.
Импортировать \ Экспортировать проект.
Добавить в любой проект проект Java-пакет, Java-класс, папку, файл.
Просматривать и изменять свойства проекта.
Слайд 16
![Source Code Editor ПРИ ПОЯВЛЕНИИ ЭТОГО СЛАЙДА У ПРЕПОДА ДОЛЖНЫ](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-15.jpg)
Source Code Editor
ПРИ ПОЯВЛЕНИИ ЭТОГО СЛАЙДА
У ПРЕПОДА ДОЛЖНЫ ВОЗНИКНУТЬ СЛЕДУЮЩИЕ
МЫСЛИ :
«НАХР ЗАЧЕМ ТЫ ЕГО СОЗДАЛ ВООБЩЕ????!!!!»
«ЧТО ИЗ ТОГО, ЧТО ТЫ СЕЙЧАС ВЫДАШЬ ОНИ НЕ ЗНАЮТ???»
«ТЫ РЕАЛЬНО СЕЙЧАС СОБИРАЕШЬСЯ СКАЗАТЬ, ЧТО ОБЛАСТЬ РЕДАКТИРОВАНИЯ ИСХОДНОГО КОДА ПОЗВОЛИТ ВАМ РЕДАКТИРОВАТЬ ИСХОДНЫЙ КОД, ГОСПОДА???!!!
А ЕЩЕ ВЫ МОЖЕТЕ ИСПОЛЬЗОВАТЬ КОМБИНАЦИИ CTRL+C\CTRL+V!!!???»
ОСНОВНАЯ ЗАДАЧА – «СЛИТЬСЯ» ИЗ ЭТОГО СЛАЙДА ПОТИХОМУ…
Слайд 17
![Views (представления) Каждая View-шка – отдельное окно либо с информацией](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-16.jpg)
Views (представления)
Каждая View-шка – отдельное окно либо с информацией либо с
дополнительным функционалом.
Каждая View-шка имеет уникальное (и стандартизированное) название.
Любую View-шку можно переместить (DnD).
Любую View-шку можно закрыть.
Любую View-шку можно открыть:
Window -> Show View -> Other...
Слайд 18
![«Популярные» Views Console– стандартный поток вывода. Server – панель управления](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-17.jpg)
«Популярные» Views
Console– стандартный поток вывода.
Server – панель управления серверами приложений.
Problems –
показывает ошибки компиляции и(или) конфигурации во всех проектах.
Tasks – Показывает //TODO: и //FIXME: во всех проектах.
JUnit – Визуализурует выполнение юнит-тестов.
View-шки для отладки.
Слайд 19
![Перспективы Перспектива – это определенный набор View, скомпонованный в определенном](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-18.jpg)
Перспективы
Перспектива – это определенный набор View, скомпонованный в определенном порядке.
Вы можете
разрабатывать любое приложение в любой перспективе – но все упирается в вопрос удобства.
Наиболее популярные:
Java – для JavaSE приложений
JavaEE – для JavaEE приложений
Debug – для отладки приложений.
Слайд 20
![Apache Tomcat](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-19.jpg)
Слайд 21
![Полезные ссылки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-20.jpg)
Слайд 22
![История версий Tomcat](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-21.jpg)
Слайд 23
![Что стоит скачать? Tomcat Server. Может поставляться в виде: ZIP-архива.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-22.jpg)
Что стоит скачать?
Tomcat Server. Может поставляться в виде:
ZIP-архива.
EXE installer-a (Windows). В
этом случае устанавливается как Windows-сервис.
Tomcat Sources. Исходный код реализации Servlet API, JSP API.
Tomcat Documentation.
Слайд 24
![Установка. Шаг-1 – Качаем архивы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-23.jpg)
Установка.
Шаг-1 – Качаем архивы
Слайд 25
![Установка. Шаг-2 – Распаковываем сервер](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-24.jpg)
Установка.
Шаг-2 – Распаковываем сервер
Слайд 26
![Установка. Шаг-3 – CATALINA_HOME](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-25.jpg)
Установка.
Шаг-3 – CATALINA_HOME
Слайд 27
![Каталоги Tomcat-a](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-26.jpg)
Слайд 28
![Каталоги work и temp Служебные каталоги Tomcat-a Содержат КЭШ Откомпилированные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-27.jpg)
Каталоги work и temp
Служебные каталоги Tomcat-a
Содержат
КЭШ
Откомпилированные JSP страницы (work)
Информацию о
сессиях пользователей
И т. д.
Если приложение вдруг перестало «Обновляться», стоит остановить Tomcat и очистить эти каталоги.
Слайд 29
![Каталог logs Содержит файлы, которые логгируют процесс работы сервера и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-28.jpg)
Каталог logs
Содержит файлы, которые логгируют процесс работы сервера и выполняемых на
нем приложений.
Содержимое файла catalina.log дублируется в консоли сервера (см. далее).
Слайд 30
![Каталог conf Содержит файлы конфигурации сервера. server.xml – «Сердце Tomcat-а».](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-29.jpg)
Каталог conf
Содержит файлы конфигурации сервера.
server.xml – «Сердце Tomcat-а». Главный конфигурационный файл.
Все основные свойства задаются здесь.
tomcat-users.xml – Файл в котором конфигурируются «пользователи \ пароли» для доступа к Tomcat. Согласитесь – не сильно секъюрно ☺ Поэтому не сильно и используется ☺
Однако в tomcat-users.xml, можно указать пользователей для доступа к приложению Tomcat Manager, но это тоже не часто используется.
Слайд 31
![Каталог lib CLASS_PATH сервера Tomcat. Любой 3-rd party API, расположенный](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-30.jpg)
Каталог lib
CLASS_PATH сервера Tomcat.
Любой 3-rd party API, расположенный в этой папке,
будет доступен ВСЕМ приложениям, выполняющимся на сервере.
Но это не всегда приемлемо, точнее почти никогда не приемлемо. Вспоминая СССР, объясните, почему?
lib уже содержит JAR файлы – это реализация Servlet API, JSP API и т. д.
Их нельзя (!!!) удалять, копировать в свои приложения, заменять и т. д.
Слайд 32
![Каталог bin Содержит утилиты (командные файлы) для управления сервером. startup.bat](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-31.jpg)
Каталог bin
Содержит утилиты (командные файлы) для управления сервером.
startup.bat (.sh) – стартует
сервер.
shutdown.bat (.sh) – останавливает сервер.
С момента старта сервера на экране отобразится консоль сервера (Tomcat Console)
Остановить сервер можно также закрыв консоль.
Слайд 33
![Tomcat Console](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-32.jpg)
Слайд 34
![Tomcat Welcome Page http://localhost:8080](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-33.jpg)
Tomcat Welcome Page
http://localhost:8080
Слайд 35
![Tomcat Authorization](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-34.jpg)
Слайд 36
![Tomcat Authorization Failed](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-35.jpg)
Tomcat Authorization Failed
Слайд 37
![Микрозадание. Погуляйте по другим страницам, посмотрите что там есть, потому](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-36.jpg)
Микрозадание.
Погуляйте по другим страницам, посмотрите
что там есть, потому что ведь
их же все эти
страницы не накопипастишь жеж сюда ☺
Как найдете примеры – кричите
«Примеры застуканы» ☺
Слайд 38
![Какие URL-ы мы могли видеть? http://localhost:8080 http://localhost:8080/docs http://localhost:8080/examples http://localhost:8080/manager/html На](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-37.jpg)
Какие URL-ы мы могли видеть?
http://localhost:8080
http://localhost:8080/docs
http://localhost:8080/examples
http://localhost:8080/manager/html
На каждый и
этих URL-ов Tomcat отдал нам Web-страницу.
Но мы говорим о сервере приложений.
В нем нет «Страниц»!
Следовательно, на каждый URL откликнулось некое приложение, и «сгенерировало» нам страницу, как «результат своей работы».
Следовательно, наш путь лежит к поискам приложений!! (на свою…)
Слайд 39
![Формат URL [:port]/ [/Sub-context-1/...]/ [?param-1=val-1¶m-2=val-2&.....] Protocol: http:// Host: localhost http://localhost:8080/ / ?... Port: 8080](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-38.jpg)
Формат URL
[:port]/[/Sub-context-1/...]/[?param-1=val-1¶m-2=val-2&.....]
Protocol: http://
Host: localhost http://localhost:8080//?...
Port: 8080
Слайд 40
![Root Context По умолчанию – имя контекста (Root Context) –](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-39.jpg)
Root Context
По умолчанию – имя контекста (Root Context) – это имя
приложения, выполняющегося на Tomcat-е.
Все приложения, Tomcat-a лежат в папке webapps.
http://localhost:8080/docs
http://localhost:8080/examples
http://localhost:8080/manager/html
Слайд 41
![Папка webapps/ROOT У нас был еще один URL – http://localhost:8080](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-40.jpg)
Папка webapps/ROOT
У нас был еще один URL – http://localhost:8080
На этот
запрос Tomcat выдал нам стартовую страницу.
А только что мы сказали, что любая страница – это результат работы приложения.
А потом мы сказали, что любое приложение лежит в каталоге webapps, как подкаталог.
А у любого подкаталога должно быть имя.
А имя подкаталога – это и есть Root Context!
А у URL-а http://localhost:8080 Root Context-а нет!
(Если сейчас повторить пункт-2, то у нас получится интересный и долгий разговор ☺) – Поэтому срочно делаем выводы:
Папка ROOT – это пустой корневой контекст.
Контекст по умолчанию
Слайд 42
![Java Web Applications](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-41.jpg)
Слайд 43
![Структура Web приложения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-42.jpg)
Слайд 44
![Структура Web приложения. Давайте разбираться. Условно приложение можно разделить на](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-43.jpg)
Структура Web приложения.
Давайте разбираться.
Условно приложение можно разделить на 3 части:
Корневой контекст
(Root Context)
Серверная часть (Server Part)
Каталог META-INF
Каталог WEB-INF
Клиентская часть (Client Part)
Все остальные каталоги и файлы.
Слайд 45
![Web приложение. Элементы, доступные браузеру. Браузер имеет доступ к элементам](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-44.jpg)
Web приложение.
Элементы, доступные браузеру.
Браузер имеет доступ к элементам клиентской части.
http://localhost:8080/web-site/index.html
http://localhost:8080/web-site/images/logo.jpg
http://localhost:8080/web-site/styles/main.css
Браузер не
имеет доступа к элементам серверной части.
http://localhost:8080/web-site/META-INF/MANIFEST.MF
http://localhost:8080/web-site/WEB-INF/web.xml
Слайд 46
![Серверная часть не доступна! Как достать сервлет? Сервлеты «производят» HTML.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-45.jpg)
Серверная часть не доступна!
Как достать сервлет?
Сервлеты «производят» HTML.
Браузер любит HTML.
Значит браузеру
нужны сервлеты.
Сервлеты расположены в серверной части.
Серверная часть не доступна браузеру.
Браузер грустно ☹, но выход есть.
Tomcat может отдать браузеру элемент по:
Прямому URL (клиентская часть, см. выше).
«Виртуальному» URL (серверная часть, см. ниже).
Слайд 47
![Индексная страница (Index page) Страница, которая загружается по умолчанию, когда](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-46.jpg)
Индексная страница (Index page)
Страница, которая загружается по умолчанию, когда пользователь вводит
URL к приложению (Root Context)
Т. е. вместо
http://localhost:8080/web-site/index.html
Можно писать
http://localhost:8080/web-site
Слайд 48
![Index page (продолжение) Добавить index page – хороший тон. Обычно](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-47.jpg)
Index page (продолжение)
Добавить index page – хороший тон.
Обычно находится в корне
приложения, но можно разместить ее где угодно.
Любое размещение index page можно сконфигурировать в файле web.xml (см. далее).
index.html + корень приложения – это расположение по умолчанию, и конфигурация в web.xml не нужна, но лучше добавить.
Слайд 49
![Index Page Примеры названий](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-48.jpg)
Index Page
Примеры названий
Слайд 50
![Серверная часть - папки Не видна браузеру Содержит Java-логику: сlasses](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-49.jpg)
Серверная часть - папки
Не видна браузеру
Содержит Java-логику:
сlasses – классы, написанные Вами.
lib
– 3-rd party libraries (JAR-файлы).
classes и lib – CLASS_PATH приложения!!!
Особый вид классов – сервлеты (Servlets)
Сервлеты:
Пишутся на Java
Выполняются Java машиной
Производят HTML, понятный браузерам.
Слайд 51
![Серверная часть – web.xml «Сердце приложения» Вся конфигурация находится в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-50.jpg)
Серверная часть – web.xml
«Сердце приложения»
Вся конфигурация находится в этом файле.
Начиная с
Servlet API v2.5 – можно не создавать. НО ЛУЧШЕ СОЗДАТЬ.
Слайд 52
![web.xml - скелет](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-51.jpg)
Слайд 53
![web.xml – пример конфигурации](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-52.jpg)
web.xml – пример конфигурации
Слайд 54
![Web приложение - разработка](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-53.jpg)
Web приложение - разработка
Слайд 55
![File -> New -> Project...](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-54.jpg)
File -> New -> Project...
Слайд 56
![Web -> Dynamic Web Project](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-55.jpg)
Web -> Dynamic Web Project
Слайд 57
![Next >](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-56.jpg)
Слайд 58
![Next >](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-57.jpg)
Слайд 59
![Finish](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-58.jpg)
Слайд 60
![Экспорт приложения из Eclipse File -> Export...](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/213557/slide-59.jpg)
Экспорт приложения из Eclipse
File -> Export...