JSP Servlet

BÀI TẬP JSP/SERVLET: QUẢN LÝ NGƯỜI DÙNG - KHOÁ JSP/SERVLET

1. Yêu cầu chức năng

1.1 Authentication

  • Đăng ký tài khoản (Register)
  • Đăng nhập (Login)
  • Đăng xuất (Logout)

1.2 Quản lý User

  • Hiển thị danh sách User
  • Thêm User
  • Sửa User
  • Xóa User
  • Xem chi tiết User (optional)

1.3 Phân quyền

  • Bảng Role:
    • ADMIN
    • USER

1.4 Session

  • Khi login thành công:
    • Lưu thông tin user vào Session
  • Nếu chưa login:
    • Truy cập /users
    • Tự động redirect sang /login
  • Nếu đã login:
    • Truy cập /login hoặc /register
    • Tự động redirect sang /users

2. Thiết kế Database


CREATE DATABASE user_management;
USE user_management;

-- =========================
-- TABLE: role
-- =========================
CREATE TABLE role (
    id INT PRIMARY KEY AUTO_INCREMENT,
    role_name VARCHAR(50) NOT NULL
);

-- =========================
-- INSERT ROLE
-- =========================
INSERT INTO role(role_name)
VALUES
('ADMIN'),
('USER');

-- =========================
-- TABLE: user
-- =========================
CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT,
    fullname VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    phone VARCHAR(20),
    address VARCHAR(255),
    status TINYINT DEFAULT 1,
    role_id INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
        ON UPDATE CURRENT_TIMESTAMP,

    CONSTRAINT fk_user_role
        FOREIGN KEY (role_id)
        REFERENCES role(id)
);

-- =========================
-- INSERT SAMPLE USERS
-- =========================
INSERT INTO user(
    fullname,
    email,
    password,
    phone,
    address,
    status,
    role_id
)
VALUES
(
    'Admin',
    'admin@gmail.com',
    '123456',
    '0123456789',
    'Ha Noi',
    1,
    1
),
(
    'Nguyen Van A',
    'user@gmail.com',
    '123456',
    '0987654321',
    'Ho Chi Minh',
    1,
    2
);

-- =========================
-- TEST
-- =========================
SELECT * FROM role;
SELECT * FROM user;






Phản hồi từ học viên

5

Tổng 0 đánh giá

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó