欢迎光临散文网 会员登陆 & 注册

第四章:角色和菜单管理功能【基于Servlet+JSP的图书管理系统】

2023-07-08 19:17 作者:波哥是个憨憨  | 我要投稿

角色和菜单功能

在这里插入图片描述

一、角色功能

接下来我们可以完成角色管理的增删改查操作

1. Bean对象

创建sys_role对应的实体对象SysRole


2. Dao层

现在我们就可以在Dao层创建涉及相关的数据库操作的方法。


然后是具体的实现


3. Service层

添加角色管理的Service相关的代码


具体接口对应的实现类


4. Servlet层

RoleServlet需要继承前面定义的BaseServlet,然后重写定义的抽象方法。同时要重写list方法。具体如下:


5. 角色查询

展示角色数据,那么我们需要做的操作:

  • 修改main.jsp中的跳转地址

  • 修改/sys/role/list.jsp中的访问地址和table数据

在这里插入图片描述
在这里插入图片描述

6. 添加和更新

添加和删除功能是类似的。我们一块来实现,在Servlet中完善进入添加更新页面的方法和保存和更新的方法的逻辑


然后就是对应的页面处理


这样就OK了

7.删除角色

删除角色我们需要做一个判断。也就是已经分配给用户的角色是不能被删除的。所以删除操作的时候我们需要添加这样一个判断


service中的处理


这个是在UserService的基础上做的扩展,实现了方法的复用。

在前端页面的处理上。加了条件判断。


在这里插入图片描述

二、菜单功能

1.查询功能

系统左侧菜单栏我们需要做成动态的。那么就需要维护相关的菜单数据。所以设计了sys_menu这张表。具体的实现。如下,先定义SysMenu这个实体


然后维护DAO,ServiceServlet的逻辑。


然后页面的展示处理。注意main.jsp的菜单地址和/sys/menu/list.jsp页面的调整,我们在此处没有做分页的处理操作。

在这里插入图片描述

2.添加和更新

添加和更新处理很类似。我们一并的实现。添加和更新我们已经在用户管理角色管理中已经实现了。所以在此处的难度就降低了很多。步骤一样

  1. 进入登录页面:需要准备相关的数据(根据Id查询信息和查询所有的父菜单信息)

  2. 提交表单数据:后端服务获取数据后做添加和更新的操作

在此处需要注意的是:父菜单分配功能,需要使用到下拉菜单

对应的代码


表单的提交功能。后端处理数据


功能搞定

3.菜单数据展示

菜单数据有父子菜单的关系。所以在展示数据的时候需要体现这种关系。我们可以通过双重循环的方式来实现。效果如下:

同时我们可以通过序号来控制菜单的显示的顺序。关键是在查询的时候通过seq升序查询

在这里插入图片描述

4.删除菜单

删除菜单本身很简单。但是我们要考虑父子菜单的关系和菜单被分配给角色的情况。那么有些情况是不能被删除的。所以我们在Servlet中需要做相关的判断校验


三、动态绑定

实现用户和角色的绑定以及角色和菜单的绑定。实现整个系统动态功能分配管理的效果。

1.角色和菜单

角色和菜单是多对多的关联关系。所以我们通过sys_role_menu来维护他们之间的关联关系。我们在更新角色信息的时候来维护菜单信息。

在这里插入图片描述

需要注意的地方,在jsp页面中展示数据注意样式

在这里插入图片描述

在展示数据的时候我们在进入更新页面前需要对菜单数据做处理

  1. 查询所以的菜单信息

  2. 对当前角色具有的菜单需要标识

在这里插入图片描述

保存更新数据的逻辑。针对菜单我们的步骤是:

  1. 先删除该角色的所有菜单

  2. 新增分配的菜单信息

在这里插入图片描述

2.用户和角色

用户和角色是一对一的关联关系,那么这块我们就可以在添加和更新用户的时候直接分配角色信息,这块我们操作的内容:

  1. 进入更新/添加界面前需要查询所有的角色信息

  2. 在更新/添加界面中我们需要添加一个下拉菜单来处理分配功能

  3. 表单数据提交到后台Servlet中我们需要处理角色相关的数据。同时调整前面写的JDBC的方法

在这里插入图片描述

然后对应的表单代码


后端的处理代码

在这里插入图片描述
在这里插入图片描述


第四章:角色和菜单管理功能【基于Servlet+JSP的图书管理系统】的评论 (共 条)

分享到微博请遵守国家法律