FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

java-labs/java-web-ru/logging at main · vmorkhat/java-labs · GitHub

Latest commit

 

History

History

README.md

Логирование

Логирование — это процесс записи данных о работе приложения. Оно позволяет отследить, что и когда происходило в приложении. Без логов сложно понять, из-за чего появляется ошибка, если она возникает периодически и только при определенных условиях. Анализ логов — один из базовых инструментов в работе программистов. Он помогает обнаружить источники многих проблем, отследить различные события. Существуют разные уровни логирования, от максимально подробного до вывода только ключевой информации. В этом задании вам нужно будет реализовать запись логов сервера в файл. Дополнительно в этом домашнем задании мы познакомимся с новым современным шаблонизатором "Thymeleaf". Чтобы сократить количество кода, в этом задании будем работать не с полным CRUD сущности, а только с его частью.

Ссылки

logging.properties

Задачи

  • Допишите файл конфигурации логгера. Настройте логгер таким образом, чтобы логи приложения с уровнем INFO записывались в файл app.log в корне приложения.

src/main/java/exercise/servlet/SessionServlet.java

Задачи

  • Допишите метод login() таким образом, чтобы при попытке входа пользователя в приложение в файл app.log записывался лог с уровнем INFO. Сообщение должно содержать email пользователя, который входит в приложение. Запись в лог должна происходить как при удачной, так и при неудачной попытке входа.

src/main/java/exercise/LoggerFactory.java

Задачи

  • Изучите методы класса LoggerFactory. Посмотрите, как происходит настройка и получение экземпляра логгера.

src/main/java/exercise/App.java

В этом задании шаблонизатор "Thymeleaf" уже подключен к приложению.

Задачи

  • Изучите блок импортов и код в методе getApp(), обратите внимание на то, как происходит подключение шаблонизатора к приложению.

src/main/java/exercise/servlet/UsersServlet.java

Задачи

  • Изучите код обработчиков showUsers(), newUser(), createUser(). Посмотрите, как производится рендеринг указанного шаблона в обработчиках.

src/main/webapp/WEB_INF/templates

Задачи

  • Изучите структуру субдиректорий в директории src/main/webapp/WEB_INF/templates, в которой расположены шаблоны.
  • Изучите файлы шаблонов. Обратите внимание, что общая часть, которая повторяется во всех шаблонах, вынесена в файл application.html.

Самостоятельная работа

Попробуйте самостоятельно поэксперементировать с шаблонизатором "Thymeleaf".

  • В файле src/main/webapp/WEB_INF/templates/session/users/new.html реализуйте вывод формы регистрации нового пользователя. В форме должно быть три текстовых поля для ввода имени, фамилии и email пользователя. Если были введены некорректные данные, поля должны быть заполнены введенными данными. Не забывайте использовать классы bootstrap, чтобы страница выглядела более привлекательно.

  • В файле scr/test/java/exercise/AppTest.java по аналогии с имеющимися тестами допишите тесты, проверяющий работу страницы регистрации. Чтобы убедится, что всё работает корректно, достаточно будет проверить, что GET-запрос на адрес /users/new возвращает код ответа 200.


Back | FazBrowse Home | New Git URL