一、项目基本情况1、项目定位专为Web 后端初学者设计的入门级实战项目基于JSP JDBC SQL Server实现。 前端采用Bootstrap 5搭建简洁美观的响应式页面不追求复杂交互重点练习用户登录注册、三级权限控制、图书信息完整 CRUD、数据库连接与操作、会话管理等核心后端能力。2、核心功能板块网站包含3 大核心功能模块所有数据持久化存储至 SQL Server用户模块注册、登录、退出登录、个人信息展示、角色区分图书管理模块图书列表展示、图书新增、图书修改、图书删除、借阅状态管理系统管理模块管理员查看所有用户、删除违规用户、管理全量图书数据3、用户角色与权限三级权限系统1未登录用户游客仅可访问首页、登录页、注册页可操作注册账号、登录账号禁止访问图书管理、用户管理等所有后台功能2普通注册用户登录后基础浏览查看系统首页、个人信息图书管理仅可查看、新增、修改、删除自己创建的图书状态管理修改图书借阅状态可借阅 / 已借出个人中心退出登录、查看操作权限提示3管理员最高权限全量图书管理查看、编辑、删除系统所有图书不受创建人限制用户管理查看所有注册用户列表、删除指定用户系统权限拥有网站所有功能操作权限个人中心退出登录4、主要工作流程用户打开网站 → 未登录状态只能浏览首页、登录 / 注册用户注册 → 信息写入数据库默认成为普通用户用户登录 → 系统校验账号密码并识别用户角色普通用户登录 → 进入个人图书管理仅操作自己的数据管理员登录 → 可管理所有图书 所有用户退出登录 → 清除会话返回游客状态5、后端核心功能重点实现用户模块用户注册用户名、密码、性别、年龄、爱好用户登录账号密码数据库校验登录状态保持Session 会话角色区分普通用户 / 管理员权限拦截未登录禁止访问后台图书模块完整 CRUD图书新增书名、作者、出版社、创建人、借阅状态图书查询列表展示、权限过滤普通用户看自己的图书修改修改信息及借阅状态图书删除删除不需要的图书记录管理员模块查看所有用户信息删除用户账号管理所有图书记录数据与安全前端 后端非空校验权限越权操作拦截JDBC 连接 SQL Server 数据库6、前端技术要求采用Bootstrap 5实现响应式布局适配电脑端统一蓝色主题 卡片式 导航栏设计页面包含首页带导航栏登录页面注册页面图书列表管理页图书添加 / 编辑页管理员用户管理页包含导航栏、表单、表格、按钮、状态标签、权限提示二、数据库核心表设计数据库名称BookBorrowDB1、用户表Users存储用户账号、密码、个人信息与角色表格字段名数据类型说明UIDINT主键自增UserNameVARCHAR(50)用户名唯一不可重复PwdVARCHAR(50)登录密码GenderVARCHAR(10)性别AgeINT年龄HobbyVARCHAR(200)爱好RoleVARCHAR(20)角色user普通用户/admin管理员SQL 创建语句sqlCREATE TABLE Users ( UID INT PRIMARY KEY IDENTITY(1,1), UserName VARCHAR(50) NOT NULL UNIQUE, Pwd VARCHAR(50) NOT NULL, Gender VARCHAR(10), Age INT, Hobby VARCHAR(200), Role VARCHAR(20) DEFAULT user );2、图书表Books存储图书信息、借阅状态、创建人表格字段名数据类型说明BIDINT主键自增BookNameVARCHAR(100)图书名称AuthorVARCHAR(50)作者PublishVARCHAR(100)出版社StatusVARCHAR(10)借阅状态可借阅 / 已借出CreateUserVARCHAR(50)创建人用于权限控制SQL 创建语句sqlCREATE TABLE Books ( BID INT PRIMARY KEY IDENTITY(1,1), BookName VARCHAR(100) NOT NULL, Author VARCHAR(50) NOT NULL, Publish VARCHAR(100) NOT NULL, Status VARCHAR(10) DEFAULT 可借阅, CreateUser VARCHAR(50) );3、完整建库建表 SQLsqlCREATE DATABASE BookBorrowDB; GO USE BookBorrowDB; GO CREATE TABLE Users ( UID INT PRIMARY KEY IDENTITY(1,1), UserName VARCHAR(50) NOT NULL UNIQUE, Pwd VARCHAR(50) NOT NULL, Gender VARCHAR(10), Age INT, Hobby VARCHAR(200), Role VARCHAR(20) DEFAULT user ); GO CREATE TABLE Books ( BID INT PRIMARY KEY IDENTITY(1,1), BookName VARCHAR(100) NOT NULL, Author VARCHAR(50) NOT NULL, Publish VARCHAR(100) NOT NULL, Status VARCHAR(10) DEFAULT 可借阅, CreateUser VARCHAR(50) ); GO -- 默认插入管理员账号 INSERT INTO Users(UserName,Pwd,Role) VALUES(admin,123456,admin);二、数据库核心表设计