Занятие 1 онлайн проекта Topjava
Напоминаю, что cвой код пишете только в ветках HW. Код в ветке MASTER трогать нельзя вообще! Модификация кода только через патчи в материалах урока (Apply Patch), иначе с ними будут проблемы. Делать Apply можно как по ходу видео, так и немного заранее - тогда при просмотре видео вы сразу сможете отслеживать изменения кода проекта.
- Доступно о Java 8 Lambda
- 1_ Lambda_ samples.patch
- 2_ HW0.patch
- Перевод "Java 8 Stream Tutorial"
- Основное в Java 8
- Обзор популярности инструментов и технологий Java за 2014 г.
- Видео "Приложение Spring Pet Clinic"
- Приложение Spring Pet Clinic.
- Demo Spring Pet Clinic
- Home Page
- Среда сборки проектов Maven.
- The Central Repository
- Maven archetype. Создание проекта на основе maven-archetype-webapp. Сборка проекта.
- Настройка пропертей Maven: кодировка, java version, зависимости, maven-compiler-plugin
- Build Lifecycle.
- Dependency Mechanism
- Зависимости, профили
- The Reactor. Snapshots
- Недостатки Maven. Другие инструменты сборки.
- Ресурсы:
-
Перевод проекта на Web.
-
Настройка и деплой в Tomcat. Tomcat manager. Remote debug.
-
Запуск Tomcat через tomcat7-maven-plugin. Конфигурирование плагина.
-
Запуск Tomcat из IDEA. Динамическое обновление без передеплоя.
-
Redirect, Forward, Application context, Servlet context
- Томкат менеджер: http://localhost:8080/manager
- Наше приложение: http://localhost:8080/topjava
- Наш сервлет: http://localhost:8080/topjava/users
-
Ресурсы:
-
Добавление зависимостей логирования в проект.
-
Конфигурирование логирования. Создание обертки логирования. Настройка Live Template.
-
Интеграция IDEA с Tomcat, деплой.
-
Тестирование логирования в сервлете. Переменная окружения TOPJAVA_ROOT.
-
Управление логированием по JMX.
-
Контекст приложения. Деплой в Tomcat без IDE. Remote debug.
По аналогии с Users добавить MealServlet и mealList.jsp.
Задеплоить приложение (war) в Tomcat c applicationContext=topjava
Попробовать разные деплои в Tomcat, remote и local debug
Сделать отображения списка еды в jsp, цвет записи в таблице зависит от параметра isExceeded (красный/зеленый).
Вариант реализации:
- из сервлета обращаетесь к реализации хранения еды в памяти;
- преобразуете результат в List<UserMealWithExceeded>;
- кладете список в запрос (request.setAttribute);
- делаете forward на jsp для отрисовки таблицы (при redirect аттрибуты теряются).
В jsp для цикла можно использовать JSTL tag forEach.
Optional
Сделать реализацию CRUD (create/read/update/delete) для списка еды.
AJAX/JavaScript использовать не надо, делаем через <form method="post" и doPost() в сервлете.