TCDBServer: Simple user database management system
Простейшая система управления базой данных пользователей.
Используемые технологии:
- Java 8
- СУБД MySQL
- MySQL Connector/J 6.0.5
- Hibernate 5.2.5
- Servlet API 3.1
- JSP / JSTL 1.2
Запуск приложения
- (Не обязательно) Выбрать тип используемой технологии доступа к базе данных - JDBC или Hibernate (по-умолчанию используется Hibernate)
- Hibernate: приступить к пункту 2
- JDBC: в конфигурационном файле
TCDBServersrcmaindb.properties изменить параметр DAOFactoryImplementationClassName на database.dao.factory.JdbcDaoFactory
- Указать путь к базе пользователей, имя и пароль в параметре
ConnectionURL файла конфигурации TCDBServersrcmaindb.properties
(при использовании JDBC) или параметрах hibernate.connection.url, hibernate.connection.username, hibernate.connection.password
файла TCDBServersrcmainhibernate.cfg.xml (при использовании hibernate)
- Выполнить цель
mvn install. В итоге будет собран war архив
- Развернуть архив на сервере. Я использовал Tomcat 8.5
Подробнее о запуске приложения на сервере Tomcat 8.5 из IntelliJIDEA
- Устанавливаем Tomcat с официального сайта, распаковываем, прописываем необходимые переменные среды, указываем путь к Tomcat в
IntelliJIDEA
- Заходим в раздел Run/Debug Configuration > Add New Configuration > Tomcat Server > Local:
- Переходим в раздел Deployment > Add > Artifact > tcdbserver:war exploded > OK > OK
- Запускаем как обычный проект
Shift + F10
- Переходим в браузере по адресу http://localhost:8080/
Описание основных возможностей
- Регистрация. Зарегистрироваться можно только с правами пользователя. Создать профиль администратора можно из панели управления администратора либо напрямую добавить пользователя с полем
role = admin SQL-запросом
- Авторизация. После регистрации можно войти в систему под своим логином и паролем
- Система прав пользователей. Незарегистрированные пользователи, как и обычные пользователи не имеют доступа к панели администратора
/admin/*
- Администратор может:
- Просматривать список всех пользователей и их данные по адресу
/admin либо кликнув на навигационной панели соответствующиё
пункт меню
- Создавать новых пользователей (в том числе и новых администраторов) по адресу
/admin/add
- Изменять данные существующих пользователей по адресу
/admin/edit?id={id}, где {id} это id изменяемого пользователя
- Удалять пользователей -
/admin/delete?id={id}, {id} - id удаляемого пользователя
Пример таблицы пользователей
Возможность использования других СУБД
Для использования других СУБД нужно выполнить несколько действий:
- Подключить зависимость необходимого коннектора СУБД
- Создать класс, реализацию UserDao, реализовав в нём все используемые методы:
public class MyDbUserDao implements UserDao {
@Override
...
}
- Создать класс, наследник DaoFactory, переопределив в нём единственный метод так, чтобы он возвращал единственный экземпляр вашего Dao:
public class MyDbDaoFactory extends DaoFactory {
@Override
public UserDao getUserDao() {
if (userDao == null) {
userDao = new MyDbUserDao();
}
return userDao;
}
}
- В файле
resources/db.properties указать класс используемой реализации DaoFactory и в файле hibernate.cfg.xml (db.properties - в зависимости от того, что будете использовать) указать настройки базы данных
Список поставленных и выполненных целей
Реализовано в SpringWebApp (но не реализовано здесь):