Quản Lý Khách Sạn - Hotel Booking By Java
BTL Môn Lập Trình Nâng Cao
NetBeans IDE 8.2
Java 8.0_231
Glassfish 4.1.1
JSF 2.2
PrimeFaces 7.0
Thanks to Booking.com
Jdbc4-2.0
Trước tiên chạy QuanLyKhachSanDb.sql bằng MSSQL, ở đây dùng Jdbc để kết nối MSSQL
Dùng NetBeans IDE 8.2 mở Project
Chạy thôi
Up lên host thấy nhiều lỗi quá http://whknightz.kilatiron.com/ - nhưng host chỉ cho trial 3 ngày 😞
Và đã có host mới: https://whknightz.herokuapp.com/ 😃
ApplicationScoped: Tất cả các bean này sẽ được khởi tạo khi ứng dụng web chạy, có lẽ là khi build luôn, nó đi theo server, nghĩa là mỗi server chỉ tồn tại một bean có tên như vậy
SessionScoped: Đi theo session, mỗi khi một trình duyệt vào web thì tất cả các bean này được khởi tạo đi theo phiên làm việc đó, mất đi khi trình duyệt đó tắt hoặc hết thời gian, nghĩa là mỗi trình duyệt có một bean riêng
=> Các bean như BeanKhachSan, BeanLoaiKhachSan, BeanThanhPho chỉ để hiển thị cho người dùng, ai cũng thấy như nhau nên để ApplicaionScoped
=> BeanNavigation, BeanDangNhap lưu các thông tin người dùng, mỗi người một khác nên để SessionScoped
Hai btn DangNhap trong form DangKy va DangKy trong form DangNhap chưa làm
Lỗi lọc phòng có lúc sai khi vừa đặt xong (chưa để ý lúc nào) ✔️
- Do không tạo đối tượng datPhong mới khi đặt nên bị chung địa chỉ => phòng cũ và phòng mới cùng địa chỉ => trở thành một
Lỗi minDate ở cả chọn Date ở trang chủ và trang đặt phòng (tạm bỏ)
Tìm cách đặt phòng luôn hiện link xem ngay lịch sử, nên là ở messageBox thông báo nhưng chưa biết làm
Background trong khách sạn ko đổi khi cập nhật thành phố, do Model Khách sạn có thêm trường dư thừa urlHinhAnh => cần cập nhật lại thông tin danh sách khách sạn (url, ...) khi cập nhật thành phố, loại khách sạn ... ✔️
Cập nhật ds phòng khi cập nhật Khách sạn
Nếu thêm loại khách sạn phải cập nhật listKhachSan trong bộ lọc
Form Admin Khách sạn thiếu chọn Loại KS ✔️
Lỗi hủy đặt phòng ở Lịch sử khi vừa đặt xong ✔️
- Do khi vào bảng DatPhong không lấy ra Id vừa thêm để cho vào lịch sử => Id luôn bằng 0 => lỗi
=> Hầu hết các lỗi trên là do sessionBean được khởi tạo đúng 1 lần duy nhất khi vào phiên nên khi khởi động lại trình duyệt sẽ được giải quyết
Tóm lại: Do có sử dụng các trường dư thừa nên Khi thêm mới thanhPho (loaiKhachSan) phải thêm vào hashThanhPho (hashLoaiKhachSan), sửa thanhPho (loaiKhachSan) phải sửa hashThanhPho (hashLoaiKhachSan), đồng thời sửa urlHinhAnhThanhPho, tenThanhPho (tenLoaiKhachSan) của các khách sạn liên quan. Khi thêm mới, sửa, xóa khachSan cần cập nhật soKhachSan của thanhPho (loaiKhachSan), sửa khachSan cần cập nhật tenKhachSan của các phong thuộc khachSan đó