别在 RBAC 建表和前后端联调上卡壳

很多转岗或刚学完 Java Web 基础的开发者,一上手做后台管理系统就露怯:知道用户表、角色表、菜单表怎么建,却理不清它们之间的主外键和中间表映射;前端用 Bootstrap 拼出了页面,但一点击保存就报跨域或者参数对不上;至于最核心的权限拦截,往往只在概念上听过 RBAC(基于角色的访问控制),真要落到代码里去动态分配菜单、控制按钮显隐,就完全不知道从哪写起。这门以 Servlet 和 JDBC 为底层核心的实战课,解决的就是这种“基础语法都懂、但拼不成一个完整业务闭环”的断层问题。它不依赖 Spring 等重型框架,逼着你用最原生的 MVC 模式去手动处理请求分发、数据库连接和视图渲染,正好能把你平时掩盖在框架注解下的底层逻辑盲区全暴露出来,缺什么就补什么。

原生技术栈下的 RBAC 落地与练习配合

课程的前半段是在打磨数据库建模和页面原型,建议基础薄弱的同学先重点看这几块。它从 PowerDesigner 的物理数据模型(PDM)起步,带你把菜单、角色、用户这三张表以及它们之间的关联表彻底建明白,这是所有权限系统的地基。接着用 Bootstrap 配合 DtreeJS 搭建后台原型,这里不要只当视频看,必须打开编辑器跟着敲,重点体会树形控件是如何把数据库里的层级菜单渲染到前端,以及表单数据是如何通过 AJAX 异步组装并发给后端的。到了项目框架 MVC 模式的章节,是全课的枢纽,它会教你如何用原生 Servlet 充当控制器去接收 AJAX 请求,用 JDBC 直连 MySQL 执行增删改查,再把结果转为 JSON 返回。资料包里的代码片段和页面素材不要直接拷贝,正确的练习方式是:看着视频理解逻辑后,自己断网写一遍 CRUD,卡住了再去查源码对照,这样才能把原生前后端联调的肌肉记忆长在脑子里。

学完能独立交付什么以及自测问题

完整跟下来这套流程后,你应该能脱离任何脚手架,独立搭建一套小型的后台权限管控模块。具体来说,你能手写出从底层数据库表结构设计、原生 JDBC 数据访问,到前端 Bootstrap 页面交互、AJAX 局部刷新的完整链路,并真正实现“不同角色登录系统后,看到不同的左侧菜单,且无权访问的接口会被后端硬性拦截”的闭环效果。为了检验自己是不是真学会了,看完后请独立回答这几个问题:用户、角色、菜单这三者的多对多关系在物理表里到底是用几张中间表来维系的?当用户点击修改角色权限时,前端 AJAX 提交的数据结构长什么样,Servlet 又是怎么解析并批量更新数据库关联记录的?如果在原生 Servlet 里不使用任何框架注解,你该如何设计一个全局的过滤器或拦截器,在请求到达具体业务接口前校验该用户是否具备当前菜单的操作权限?如果这些都能答上来,说明原生 Web 这块的能力缺口才算真正补齐了。

课程目录

1 权限管理系统之需求分析 (11:17)
2 数据库设计(PDM)之菜单管理 (05:34)
3 数据库设计(PDM)之角色管理 (08:29)
4 数据库设计(PDM)之用户管理 (09:01)
5 原型设计(Bootstrap)之后台首页搭建 (14:22)
6 原型设计(Bootstrap)之用户查询 (20:26)
7 原型设计(Bootstrap)-用户添加和修改 (25:49)
8 原型设计(Bootstrap)-用户查看 (06:31)
9 原型设计(Bootstrap)-角色管理 (10:30)
10 原型设计(Bootstrap+DtreeJS)-菜单管理 (20:10)
11 原型设计(Bootstrap+DtreeJS)-菜单管理 (20:14)
12 原型设计(Bootstrap)-权限变更 (15:32)
13 项目框架之MVC模式 (29:08)
14 项目框架之架构搭建 (20:47)
15 项目框架之编写公共类DBUtils (12:57)
16 角色管理-角色添加(一) (18:13)
17 角色管理-角色添加(二) (18:31)
18 角色管理-查询角色信息(一) (19:54)
19 角色管理-查询角色信息(二) (22:29)
20 角色管理-加载修改页面 (18:47)
21 角色管理-修改角色信息 (10:45)
22 角色管理-删除角色信息 (04:36)
23 用户管理-添加用户信息(一) (19:56)
24 用户管理-添加用户信息(二) (26:12)
25 用户管理-ajax验证账号 (30:33)
26 用户管理-nicevalidator表单验证和My97Dat (12:39)
27 用户管理-用户查询 (22:33)
28 用户管理-用户查看 (09:24)
29 用户管理-修改信息 (25:42)
30 用户管理-删除信息 (13:17)
31 用户登录 (17:55)
32 Filter防止非法登录 (09:04)
33 菜单管理-实现dTreejs和解决缓存问题 (31:18)
34 菜单管理-使用Dtree显示菜单 (30:21)
35 菜单管理-菜单查看 (18:45)
36 菜单管理-添加菜单 (21:04)
37 菜单管理-修改菜单 (17:15)
38 菜单管理-菜单删除 (23:15)
39 权限变更(一) (26:52)
40 权限变更(二) (19:57)
41 权限变更(三) (15:12)
42 登录动态加载菜单 (18:12)
43 HighchartsTable实现报表 (35:34)