Xhotel
Введение
Первый раунд оценки Topview Studio: Система управления гостиницей (Huang Yuchao)
Xhotel - это система управления отелями, которая предоставляет бэкэнд -технологии, такие как просмотр номеров, комнаты для бронирования, управление личной информацией, управление информацией о номерах и отелях (администраторы) и другие функции: Java, Tomcat, MySQL, Сервлет, JSP
Быстрый старт
Нажмите здесь, чтобы испытать это сейчас
Информация
Разработчик: Huang Yuchao Contact Email: [email protected]
Время разработки проекта: 2019-04-04 до 2019-04-25
Номер версии: 1.0.0
Лицензия с открытым исходным кодом: Apache License 2.0
Среда бега:
- Tomcat 9.0.17
- MySQL 5.7.29
- JDK 1.8
Функции
1. Вход в систему

2. Домашняя страница
3. Нечеткий запросной комнату

4. Доска объявлений

Функции реализованы
1. Пользовательский модуль
- Регистрационная функция
- Функция входа в систему
- Помните статус входа и автоматически войдите в систему в следующий раз в следующий раз
- Выходите из строя
- Пользователи просматривают личную информацию и изменяют свою личную информацию
- Пользователи загружают свой собственный аватар и изменяют свой собственный аватар
- Пользователи изменяют свой пароль для входа в систему
- Пользователи изменяют свой пароль оплаты
- Поиск номеров, информация о комнате, книжный номер
- Вы можете выбрать время регистрации и время отправления в заказе
- Вы можете заполнить информацию о замечаниях в заказе
- Пользователи просматривают свои собственные заказы и отменяют свои заказы
- Вы можете оставить сообщение на доске сообщений, чтобы просмотреть комментарии других людей
2. Администратор модуль
- Администраторы могут добавить новых пользователей
- Администраторы могут добавить новые номера
- Администратор может изменить информацию о комнате и удалить комнату
3. Супер администратор
- Добавить, удалить, проверить и изменить отель (без интерфейсного дисплея, только завершен до уровня DAO)
Кодовые функции
Безопасность
- Используйте регулярные проверки ввода и не позволяйте незаконным данным вводить базу данных
- Подготовка предотвращает инъекцию SQL
- Инъекция метки фильтров
- Encrypt пользователя пароль с использованием MD5
- Используйте UUID, чтобы обеспечить глобальную уникальность
- Null Pointer Проверка
Код повторный использование
- Все DAO - это подкласс Baserao. Подкласс отвечает только за обработку данных, передаваемых на соответствующем уровне сервиса и написание некоторых операторов SQL. Все операции базы данных находятся в двух методах BasedAO.
- В слое PO используется система наследования. Все сущности наследуют (прямо или косвенно) базовую жизнь, хранят идентификатор, статус, GMT_CREATE и GMT_MODIFIED ИНФОРМАЦИЯ Таблицы баз данных, а также комнаты и услуги наследуют класс продукта, а в обоих комнатах и заказе услуг наследуют порядок.
- Шифрование MD5, получение UUID и другие функции помещаются в класс инструментов для повторного использования
- Повторите извлечение и реконструкцию кода, оптимизируйте код, используя методы шаблона и шаблоны политики и т. Д.
Обслуживание
- Кодовые комментарии: Большая часть кода содержит комментарии класса, комментарии метода и комментарии атрибутов
- Документация интерфейса: используйте аннотации Javadoc для предоставления документации API
- Программирование, ориентированное на интерфейс: как слой DAO, так и уровень обслуживания обеспечивают восходящие интерфейсы, отдельные от класса реализации
- Инкапсуляция: PO, Vo Layer имеет только методы Getter и Setter
- Надежность: большинство классов имеют соответствующие тестовые классы и прошли несколько раундов тестирования
- Стандартизация: объединить спецификации параметров запроса в интерфейсе и использовать классы перечисления для управления параметрами запроса
- Используйте файлы конфигурации, конфигурацию базы данных, конфигурацию пула соединений и конфигурация заводов, все отделены от кода
- Образец проектирования MVC: в сервлете нет, нет кода Java в JSP, и обработка данных все помещена в сервисный уровень
- Почти нет «магического значения»: большинство констант используют классы перечисления, очень немногие используют окончательные переменные, а остальные являются постоянными в параметрах частичного запроса переднего интерната
- Избегайте загрязнения кода: инкапсулировать Ceckexception в runtimeexception и бросить его в верхний слой, чтобы избежать связи между слоями
- Единые обязанности: каждая служба имеет свой собственный соответствующий класс реализации слоя DAO, и каждый сервис и DAO могут выполнять свои собственные функции отдельно.
Инкапсуляция ввода и выхода данных:
- Данные фронта: все параметры запроса отображаются в объекты класса сущности через шагатура, и в этом процессе инъекция метки равномерно отфильтрована.
- Постоянные данные: все операции обновления базы данных и операции запросов базы данных инкапсулируются в методах ExeputeUpdate и ExecuteQuery FasedAoImpl. Только эти два метода могут подключаться к пулу соединений базы данных, а ресурсы могут быть получены и выпущены равномерно.
- Настройка результатов запроса: FASTAOIMPL инкапсулирует все операции обновления базы данных и большинство операций запросов. Только несколько запросов выполняются с помощью подклассов и операторов SQL. Обработка набора результатов все инкапсулируется на основе
- Результаты состояния и обработки: все коды проигрывателя и обработанные данные, возвращаемые уровнем сервиса, возвращаются в результате
- Данные страницы: Все данные, возвращаемые на фронт, возвращаются в Pagevo
производительность
- Рукописная база данных пула соединений для улучшения доступа к базе данных
Дизайн шаблон
- Заводская модель
- Синглтон режим
- Политический режим
- Декоративный режим
- Метод шаблона
- Режим MVC
Журнал разработки проекта:
Обновлено 20 апреля: построить базовые страницы JSP
Обновлено 17 апреля: строительство, заказы и другие услуги
Обновлено 14 апреля: создать уровень управления, реализация пользовательского обслуживания
Обновлено 12 апреля: строительные номера, заказы внедрены
Обновлено 11 апреля: сборка userdao
Обновлено 10 апреля: построение основного уровня
Обновлено 9 апреля: предварительная конструкция слоя DAO
Обновлено 8 апреля: создайте пул подключений к базе данных
Обновлено 7 апреля: создайте проект
Обновлено 3 апреля: отправьте анализ требований проекта (именование проекта: Xhotel)
Обновлено 1 апреля: в настоящее время на стадии анализа спроса, создание моделей данных и предварительный дизайн бизнес -процессов
Обновлено 30 марта: проект Cat Studio только что завершен, а QG Bootcamp имеет задачу, поэтому я еще не начал
Будьте готовы сначала подвести итог опыта проекта CAT и понять некоторые проблемы, с которыми вы сталкиваетесь перед написанием проекта.
Лицензия
Это программное обеспечение предназначено только для общения и обучения и не может использоваться в коммерческих целях
Авторские права Хуан Ючао
Лицензировано по лицензии Apache, версия 2.0 («Лицензия»); Вы не можете использовать этот файл, кроме как в соответствии с лицензией. Вы можете получить копию лицензии на
http://www.apache.org/licenses/LICENSE-2.0
Если не требуется применимый закон или не согласен в письменной форме, программное обеспечение, распространяемое по лицензии, распределяется по основам «как есть», без каких -либо гарантий или условий, явных или подразумеваемых. См. Лицензию для конкретного языка, регулирующих разрешения и ограничения по лицензии.