EJB-EAD- Viết chương trình quản lý sinh viên EJB - Web - SessionBean - Phần 2
BÀI TẬP: QUẢN LÝ SINH VIÊN VÀ GIỎ HÀNG (EJB + JPA + SERVLET)
1. Yêu cầu về Cơ sở dữ liệu
Tạo bảng Student trong cơ sở dữ liệu với các trường sau:
rollNumber (Primary Key)
name
email
age
2. Yêu cầu về Backend (EJB & JPA)
Entity: Tạo Entity
Studenttương ứng với bảng trong cơ sở dữ liệu.Session Bean (Stateless): Sử dụng Session Bean kết hợp với JPA để tạo các đối tượng truy cập dữ liệu (DAO). Cần thực hiện các hàm:
findAll(): Lấy danh sách tất cả sinh viên.delete(rollNumber): Xóa sinh viên theo mã số.update(Student): Cập nhật thông tin sinh viên.findById(rollNumber): Tìm kiếm sinh viên theo mã số.
Session Bean (Stateful): Tạo một Stateful Session Bean để quản lý giỏ hàng (Cart).
Lưu trữ danh sách
rollNumbercủa sinh viên.Logic: Nếu
rollNumberđã tồn tại trong giỏ hàng thì không cho phép thêm lại.
3. Yêu cầu về Web Application
Trang chủ (index.jsp)
Hiển thị tiêu đề lớn: DEAE EXAM !
Cung cấp một đường dẫn (link): List of Students.
Trang Quản lý sinh viên (Student Manager)
Khi người dùng click vào "List of Students", hệ thống gọi EJB để lấy dữ liệu và hiển thị bảng sau:
| Roll number | Name | Age | Action | |
| C1009G1234 | Nguyen Van An | an.nv@gmail.com | 24 | [Edit] [Delete] [Add Cart] |
Chức năng tại trang này:
Delete: Gọi EJB để xóa bản ghi tương ứng và cập nhật lại danh sách.
Edit: Khi click vào, hiển thị một Form cho phép sửa thông tin sinh viên hiện tại.
Add Cart: Lưu
rollNumbervào Stateful Session Bean (đảm bảo không trùng lặp).
Trang Giỏ hàng (Cart Servlet)
Tạo một Servlet để hiển thị danh sách sinh viên có trong giỏ hàng:
Lấy danh sách
rollNumbertừ Session Bean.Truy vấn thông tin chi tiết của các sinh viên đó từ database.
Hiển thị theo mẫu bảng tương tự trang quản lý.
Chức năng Xóa: Cho phép người dùng xóa từng sinh viên ra khỏi giỏ hàng.