Ресторан Little4
Система бронирования ресторанов TEAM4
Проверьте на сайте
(Если веб-сервер выключен, соединение не будет установлено.)
Кафедра искусственного интеллекта и компьютерной инженерии Университета Кёнги
Профессор Кихён Квон 2021-1 Разработка программного обеспечения Статья 4
Разработчики Team4
- Сон Сон Хо (201713866)
github@ssh10032
- Джухён Юн (201713919)
github@gabrielyoon7
- Ким У Чжон (201912039)
github@Kimwoojung11
- Чой Е Сыль (201912149)
github@yeseul9231
- Субин Хо (201912161)
github@heo5620
История
- 2021.06.06
- [Джухён Юн] Создана часть класса TEST, исправлена ошибка в списке ожидания.
- [Хо Су Бин] Улучшение дизайна
- [Чхве Есыль] Модификация дизайна
- [Ким У Чжун] Исправлена ошибка изменения резервирования, ТЕСТОВЫЙ урок завершен.
- 2021.06.05
- [Сон Сон Хо] Изменение функции удаления завершения бронирования.
- [Хо Су Бин] Модификация дизайна
- [Чхве Есыль] Модификация дизайна
- [Ким У Чжун] Исправлены ошибки в функциях, связанных с расписанием.
- [Joohyun Yoon] Решена проблема с невозможностью проверить записи о прибытии в CustomerManager.
- 2021.06.04
- [Уджун Ким] Добавлена функция начисления очков.
- [Джухён Юн] Добавлена функция еженедельной проверки статистики, ограничена двойная регистрация участников, исправлены связанные ошибки.
- 2021.06.03
- [Хео Су-бин] Улучшен дизайн, добавлены рекомендации.
- [Сон Сон Хо] Таблица DAO, добавление DTO, удаление таблицы, реализация дополнительных функций
- [Чжухён Юн] Добавлена функция прибытия, добавлен ввод температуры, связанные функции, связанные со столом, и добавлен запрос на анкету COVID-19 (управление магазином)
- 2021.06.02
- [Ким У Чжон] Преобразование списка ожидания в модальный режим, добавление функций входа, редактирования и удаления бронирования.
- [Сон Сон Хо] Добавлен CovidLogDTO, DAO Добавлено поле ввода температуры тела в модальном окне
- [Joohyun Yoon] Привязка БД к статистике (ежедневные продажи), улучшение ошибок в таблицах, устранение ошибок даты, возникающих при привязке к серверам
- 2021.06.01
- [Ким У Чжон] Добавьте таблицу списка ожидания и реализуйте функцию таблицы.
- [Чхве Есыль] Строка меню редактирования, черновая страница статистики
- [Хео Су-бин] Улучшение дизайна, создание макета страницы статистики.
- [Joohyun Yoon] Измените модальное окно, чтобы оно реагировало на нажатие на содержимое таблицы расписания.
- 2021.05.31
- [Ким У Чжун] Дополнительная функция базы данных списка ожидания
- 2021.05.30
- [Джухён Юн] Подключение различной информации к userReservationInfo
- 2021.05.29
- [Хео Су-бин] Улучшен дизайн и макет userReservationInfo.
- [Joohyun Yoon] Полностью исправлены ошибки подключения к БД и запросов резервирования на странице UserManager.
- 2021.05.28
- [Чхве Есыль] Добавлена база данных напитков, улучшена классификация страниц при заказе.
- [Хо Су-Бин] Отредактируйте заголовок для гостей, добавьте макет страницы запроса на бронирование.
- [Ким У Чжон] Добавлен вывод данных WalkIn и функция WalkIn, предотвращения дублирования резервирования.
- [Joohyun Yoon] Полностью исправлены ошибки в таблице начальной загрузки, добавлена функция автоматического назначения таблицы резервирования.
- 2021.05.27
- [Хео Су-бин] Улучшены уведомления о предупреждениях.
- [Ким У Чжон] Вывод таблицы страниц CustomerManager
- [Джухён Юн] Активировать кнопку просмотра меню (реализация печати одной страницы информации меню), добавить функцию печати по типу меню, добавить функцию печати по расписанию по дате
- 2021.05.26
- [Сон Сон Хо] Редактировать передачу даты метода ReservationDAO addReservation
- [Joohyun Yoon] Исправление ошибки BootstrapTable и активация функции
- 2021.05.25
- [Хо Су-бин] Полностью обновлены различные дизайны.
- [Ким У Чжон] Реализация кнопки входа на странице менеджера клиентов.
- 2021.05.23
- [Чхве Есыль] Модальная ссылка на страницу WalkIn, ссылка на изображение на страницу упаковки
- [Joohyun Yoon] Исправлены модальные ошибки и макет, функции, связанные с запросом на резервирование, ограничивают доступ для пользователей, не вошедших в систему.
- 2021.05.22
- [Ким У Чжун] Успешно завершено и подключено макет для получения списка запросов от менеджера по работе с клиентами.
- [Джухён Юн] Улучшен макет: таблица расписания автоматически рисуется в customerManager, исправлены ошибки, связанные с ReservationRequest.
- [Сон Сон-хо] Реализована функция (completeReservationRequest), которая отправляет данные запроса резервирования из jsp в Ajaxaction, добавлен регистр случая резервированияRequest в AjaxAction.
- 2021.05.21
- [Джухён Юн] Добавлены функции для передачи информации и отображения информации для входа в систему бронирования.
- [Сон Сон Хо] Изменение таблицы ReservationRequest DB (удаление table_id, прибытия, добавление сообщения, изменение макета резервирования).
- [Чхве Есыль] Редактировать информацию о бронировании
- 20.05.2021
- [Все] Название проекта изменено на Little4 Restaurant.
- [Сон Сон Хо] Добавлен ReservationDTO, добавлен метод ReservationDAO для отправки данных о резервировании клиента в БД (addReservationRequest), добавлен запрос на резервирование клиента БД (ReservationRequest) ТАБЛИЦА
- 2021.05.19
- [Ким У Чжун] Создание страницы управления таблицами
- 2021.05.16
- [Хео Су-бин] Обновление базы данных меню и изображений
- [Джухён Юн] Добавлена возможность пропускать даты на странице бронирования, реализованы некоторые функции кликов (требует доработки)
- [Ким У Чжун] Создание страницы завершения платежа и страницы управления получением (включая привязку к базе данных)
- 2021.05.15
- [Чхве Е Сыль] Добавлен макет страницы запроса расписания.
- [Джухён Юн] Связывание изображений с экраном меню
- 2021.05.14
- [Ким У Чжун] Создание страницы завершения платежа
- [Хео Су-бин] Создание нижнего колонтитула, который перемещается со страницы «Упаковка» на страницу «Корзина», создание страницы заказа/оплаты, исправление фиксированной панели внизу и редактирование текста вверху.
- [Чхве Есыль] Добавлен макет страницы бронирования и экран завершения бронирования.
- [Joohyun Yoon] Добавлена функция корзины покупок в «Упаковке» (реализация общего вывода с экрана оплаты путем передачи БД), создание процесса передачи БД из корзины покупок на экран завершения платежа, добавление страницы ошибок и логики для предотвращения ошибок.
- 2021.05.13
- [Сон Сон Хо] Интеграция страницы бронирования
- [Ким У Чжун] Связывание страниц «Упаковка» и «Корзина»
- 2021.05.12
- [Чхве Е Сыль] Создание страницы бренда
- [Все] Создание страниц меню и привязка БД / Улучшение некоторых структур БД / Добавление функции управления черным списком
- 2021.05.11
- [Joohyun Yoon] После создания среды с ubuntu20.04 LTS, Tomcat9.0, mariaDB и openJDK14 на серверном ПК загрузка сервера была завершена. (Для использования в период презентации и оценки)
- 2021.05.10
- [Джухён Юн] Добавлена функция регистрации членства / Добавлена страница и функции администратора
- 2021.05.08
- [Чхве Е Сыль] Улучшен дизайн заголовка/Добавлен нижний колонтитул/Добавлен слайдер изображений.
- [Джухён Юн] Добавлена функция выхода из системы/введена загрузочная загрузка.
- 2021.05.07
- [Джухён Юн] Добавить функцию входа/добавить таблицу пользователей, создать временный заголовок
- 2021.05.06
- [Сон Сон Хо] Обновление структуры БД по результатам встречи
- 2021.05.05
- [Все] Переход с Spring на JSP
- [Joohyun Yoon] Создайте проект JSP с помощью Java ee и Tomcat, введите базовую структуру, набросайте README.
Правила разработки проекта
- При использовании Github сначала потяните
- Внимательно записывайте комментарии и фиксируйте сообщения
- Напишите имена переменных как можно подробнее.
- Обрабатывайте переменные как можно больше
- Если вы не знаете или застряли, обсудите.
- Интересуйтесь и участвуйте за пределами своей области
- Попробуйте сначала изменить его (если это не сработает, вы можете использовать функцию отката)
Что еще может быть?
Структура проекта
Видео анализа структуры проекта
https://drive.google.com/file/d/1lWJpXaAh7shmv10t9AoQUbhHaI2ocUy0/view?usp=sharing
.идея
Настройки, связанные с IntelliJ
Поскольку среда каждого компьютера различна, она часто исправляется автоматически. Если возможно, не отправляйте на github.
библиотека
Это папка, содержащая внешние библиотеки (*.jar), используемые в проектах Java. Для использования определенного класса необходима соответствующая библиотека, и если она добавлена, ее необходимо зарегистрировать в компиляторе.
вне
Это эксклюзивная папка исполняемого файла IntelliJ, созданная во время компиляции. Он инициализируется каждый раз при запуске сервера. Возможно, ошибка произошла на другом компьютере. При компиляции все файлы отправляются в папку out и будут работать из этой папки.
Никогда не отправляйте на Github. Могут возникнуть ошибки.
источник
Ответственный за веб-сервер. Написано на Java.
- com.se.team4
- приложение
Этот пакет был разработан для применения по структуре, максимально похожей на программу booksys, предложенную профессором.
домен
Это часть контроллера. Обычно контроллер запрашивается из JSP, а из него вызывается DAO.
Часть, запрашивающая контроллер, снова упоминается в WEB-INF.
//domain 코드 예시
public class TestAction implements Action {
@ Override
public String execute ( HttpServletRequest request , HttpServletResponse response ) throws Exception {
Gson gson = new Gson ();
request . setAttribute ( "getSomething" , gson . toJson ( TestDAO . getInstance (). getSomething ( 1 )));
return "RequestDispatcher:test.jsp" ;
}
}
- основной
Это контроллер, связанный с главной домашней страницей.
настойчивость
Это часть модели. Содержит классы для взаимодействия с MariaDB.
- ДАО
Это классы, которые напрямую пишут операторы запроса.
Думаю, мне нужно подумать, отправлять ли в класс базы данных запрос, подобный файлу, который дал мне профессор.
>() {
}.getType());
return result;
}
}">
//DAO클래스 예시
public class TestDAO {
public static TestDAO it ;
public static TestDAO getInstance () { //인스턴스 생성
if ( it == null )
it = new TestDAO ();
return it ;
}
//테스트 메소드
public ArrayList < TestDTO > getSomething ( int num ) {
ArrayList < TestDTO > result = null ;
List < Map < String , Object >> list = null ;
Connection conn = Config . getInstance (). sqlLogin ();
try {
QueryRunner queryRunner = new QueryRunner ();
list = queryRunner . query ( conn , "SELECT * FROM customer WHERE oid=?" , new MapListHandler (), num );
} catch ( SQLException e ) {
e . printStackTrace ();
} finally {
DbUtils . closeQuietly ( conn );
}
Gson gson = new Gson ();
result = gson . fromJson ( gson . toJson ( list ), new TypeToken < List < TestDTO >>() {
}. getType ());
return result ;
}
}
- DTO
Это класс для загрузки БД, полученной от mariaDB, в класс Java.
Удобно думать, что на каждую таблицу БД приходится один DTO.
public class TestDTO {
private String oid ;
private String name ;
private String phoneNumber ;
public String getOid () { return oid ;}
public void setOid ( String oid ) { this . oid = oid ;}
public String getName () { return name ;}
public void setName ( String name ) { this . name = name ;}
public String getPhoneNumber () { return phoneNumber ; }
public void setPhoneNumber ( String phoneNumber ) { this . phoneNumber = phoneNumber ;}
}
- общий
Это классы, которые составляют основу этого проекта. Пожалуйста, никогда не редактируйте его.
При внесении изменений обязательно укажите причину внесения изменений.
- контроллер
- фильтр
- индекс
- sql
сеть
Ответственный за просмотр. Написано в JSP.
- CSS
Это папка, содержащая CSS, который будет использоваться в JSP. (Bootstrap 5.0 включен)
- js
Это папка, содержащая js для использования в JSP (Bootstrap 5.0, включая JQuery).
- ВЕБ-ИНФ
jsp
JSP запрашивает класс домена в формате *.do.
Путь в формате *.do можно найти в booksys.properties.
БД, определенная в предыдущем классе домена, принимается, обрабатывается в JS, а затем вставляется в HTML.
//앞선 설정으로 setAttribute 된 자바 변수를 JSP에서 받는 예시 (JQuery와 JSP문법을 사용하여 데이터를 가공한 후, id에 넘겨서 삽입함.)
< script >
$ ( document ) . ready ( function ( ) {
makeinfo1 ( ) ;
} )
function makeinfo1 ( ) {
var data = < %= getSomething % > ;
var list = $('#testDataPrinter');
var text = '';
text+= ' < div > '+'oid : '+data[0].oid+'/ name : '+data[0].name+'/ phoneNumber : '+data[0].phoneNumber+' div > ';
list.append(text);
}
script >
- общий
Мы собрали часто используемые JSP. например) заголовок, нижний колонтитул
- страница
Коллекция различных основных страниц.
библиотека
Я столкнулся с этим, когда делал проект, но не знаю, что это такое.
Как развернуть
- Как установить IntelliJ
https://leirbag.tistory.com/50
- Как установить Томкат
См. раздел 1 https://leirbag.tistory.com/52.
- Как установить MariaDB
https://leirbag.tistory.com/46
- Как применить БД
https://leirbag.tistory.com/47
- Когда в компиляторе возникает ошибка базы данных
https://leirbag.tistory.com/48
- Как установить клоны и проекты
https://leirbag.tistory.com/56
Инструменты
- IntelliJ 2021.1
- Томкэт 9.0.45
- ДСП
- MariaDB (забыл версию)
- DBUtils
- Java EE
- Бутстрап
- JQuery
- Аякс
Ссылки
- Создайте проект JSP с помощью IntelliJ
https://velog.io/@ruddms936/IntelliJ%EB%A1%9C-JSP-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83 %9D%EC%84%B1
- История *.do
https://withthisclue.tistory.com/entry/JSP-%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80%EC%97%90%EC% 84%9C-%EA%B6%81%EA%B8%88%ED%96%88%EB%8D%98-до-%ED%8C%8C%EC%9D%BC%EC%9D%98- %EC%9D%98%EB%AF%B8
- Класс действия
https://m.blog.naver.com/PostView.nhn?blogId=eroicaplus&logNo=90029919122&proxyReferer=http:%2F%2F210.217.72.119%2F
- Сервлет
https://themach.tistory.com/68
- Сравнение сервлета и JSP
https://m.blog.naver.com/acornedu/221128616501