当前课程知识点:软件开发实训--动态网站开发 >  4 功能设计 >  4.1用户管理功能设计 >  4.1.1用户管理功能设计

返回《软件开发实训--动态网站开发》慕课在线视频课程列表

4.1.1用户管理功能设计在线视频

下一节:4.1.2课程PPT

返回《软件开发实训--动态网站开发》慕课在线视频列表

4.1.1用户管理功能设计课程教案、知识点、字幕

同学你好

欢迎回到软件开发实训课堂

前面咱们已经把

前后台需要的接口做了一个设计

那么从这节课开始

咱们具体来看一看

后台都需要哪些功能需要设计

这节课咱们就说一说用户管理功能的设计

对于现代每一个网站

或者是软件系统都会有用户来使用它

那么用户是每一个软件或者网站

必备的一个功能

所以我们首先来说明用户管理

对于网站来讲用户比较单一

通常情况下就是系统管理员和内容管理者

那么它的用户虽然比较简洁比较少

但我们需要一个

用户的管理功能来管理

我们的内容管理者和系统管理员

比如说对它进行密码的修改

或者对它的手机号码

电子邮件等基本信息的修改

这些个都需要我们来实现

虽然说它的用户比较少

可是我们的功能一个都不能少

那么具体的我们有哪些信息呢

我们来看一下

对于用户来讲

对于网站的用户来讲

通常我们有一个管理员

就可以完成这些内容了

那么我们有时候为了更好的去管理网站的内容

把系统管理员和内容管理员给它分开

这样使得我们系统能更好的去扩展

比如说我可能需要加入产品

专门的用户来进行产品的管理

所以用户管理功能就包括了用户的查询添加

等等这些功能

当然了

某个管理员我不想要了

我可以把它删掉

如果你不想删除这些信息

那就需要给它加一个什么失效功能

不让它登陆

这就是什么

不删除

但有一个你需要注意

系统管理员

通常我们叫admin

或者

administrator这根据你的设计来定

这里边我们把它叫做admin

这里边你要注意的是

这个用户是不能删除也不可失效的

只能修改密码

如果这个用户要删除了

或者失效了

那么整个系统你很多配置信息

甚至就无法使用了

所以坚决不允许删除或失效系统管理员用户

所有的用户应该能够去修改它自己的密码

这是你必须要实现的

再来看一下

对于我们后台

你需要把所有的界面的布局来设定一下

这样你就能观察到所有的功能

添加用户

很明确

有了这个界面布局后

删除编辑失效

这些个你都能够展现出来了

当然了你也可以有一个刷新这样的功能

这根据你的需要来定

然后列出了所有的用户信息

还有我们可以通过前面的复选框来多选

进行相关的多用户操作

这个时候实际上对于用户来讲

多个操作往往只是删除和失效

而编辑这块我们讲通常情况下

一次只能编辑一个用户的信息

所以你要注意对它进行处理

另外一个我们下面还有一些提示的信息

天下用户无需选择编辑不能多选

这是什么意思

就是我们这个列表里面

当我们点击添加用户时

这个列表中不需要选择任何信息

相反

当我们点击编辑功能时

你必须要至少有一个也至多只能有一个

把它打上勾选中信息才能进行编辑

在一个这里有弹出窗口的操作

这个倒不是必须要这样去做

根据你的设计

如果信息量比较大

你可以单独地出现一个窗口来实现

如果信息量比较小

你就可以单独的弹出一个小窗口

来实现这样的操作

那么对于用户修改密码的功能

你需要把它单独的提供出来

每一个用户登录后可以对它的密码进行修改

如果你没有提供密码找回功能

那么你需要让用户能够怎么样呢

在忘记密码时找回

那么怎么办

就需要给管理员提供一个重置密码的功能

因为我们用户量比较小

所以它可以让管理员给它重置密码

这样的话我们就将通过界面布局

把所有的用户功能展现出来了

而在密码修改的界面里

通常情况下我们提供了一个

密码和确认密码这两个框

当然为了更加安全起见

最好还是让它先输入原来的密码

再进行修新密码的修改

这也是防止当你打开了界面

人又不在跟前时

别人直接可以通过修改密码功能

把你的密码给修改掉

如果要求输入旧的密码

然后再去修改的时候

就可以避免这样的问题发生

所以这个可以根据你的需要

来进行相关的设计和处理

那么有了界面

我们就可以设计相关的类来实现界面的融合

首先我们是要应用Spring boot

Spring JPA

以及SpringMVC这样的相关框架和技术

来实现整体的开发

所以我们首先要设计的就是实体类

也就是说我们用户都有哪些信息

通过这些信息来构成了一个实体

首先是对类名的约定

User

User所对应的表名是users

加了一个s并且把字母都小写了

然后我们在类里边定义了所有的私有数据

并且提供了getter和setter方法

get和set方法

是javab中的

标准的信息访问方式

我们把所有的信息私有化以后

对于其它的类是无法来访问当前类的

这个时候怎么办呢

我们能够通过提供get读取的方法来让它

获取信息

set方法

这样的写方法来向我们的信息提供数据

这个的话就是javab里边它的一个标准形式

get和set

当然一个数据只是只读的时候

我们只提供get只写的时候

只需要提供一个set方法就可以了

那么为了提供对象之间的比较

尤其在我们持久化操作中

什么是持久化

就是我把这个对象的数据全部的

永久的保存起来

这就是持久化

那么持久化我们需要操作时

比如说我要去修改它

或者删除它等等

这个需要我们进行数据的比对

看看它两个数据是不是同一个实体的数据

所以我们要实现hashCode的方法以及equals方法

那么这两个方法可以很容易地实现

唯一确定一个对象以及两个对象之间的比较

当然了

为了能够更好地输出我们的信息

一个实体信息

我想把它打印出来

这个时候我们可以提供一个toString方法

toString方法

它就是把我们的实体对象转换成了字符串形式

然后可以把它怎么样

输出来

这就是有关优则的实体类的相关设计

那么有了实体类以后

我们就需要去对它进行访问

我们是面向对象的操作

所以不涉及任何数据库的直接操作

而是由相关的spring jpa这样的框架

进行数据库的操作封装

然后对我们的实体进行操作

我们操作一个实体时

就相当于是在操作一个表

一行数据

那么怎么来实现

对于Jpa来讲

我们要设计DAO也就是数据访问对象

它的数据访问对象设计比较简单

我们定义一个UserRepository的

这样的接口

这个接口我们需要让它去

继承JPA的数据访问接口

那就是JPA Repository

要注意

JPA接口它需要两个泛型

类型

第一个是User

第二个是Longer

很明显

第一个User是指明当前的数据访问对象

访问的实体是哪一个

那么Longer就表示了它的标识用的什么类型

那么这个标识

就是唯一的确定了一个实体的对象

这和我们数据库中的主见一一对应

这是有关用户管理对于数据访问对象的一个

设计说明

那么对于jpa来讲的话

我们只要继承了JPA repository

这个接口

就已经实现了对实体对象的增删改查的功能

所以它还是比较简单的

那么有了DAO的设计

我们还需要提供其它的方法

虽然它已经提供了增删改查

可是我们还需要其它的几个有关关键字搜索

密码搜索

这样的方法我们来看一下

第一个

修改密码

修改密码

我们要单独的去设计一个方法

这里边我们用modifyPassword

作为它的名称

那么这个方法的设计的时候

你要注意

它要单独的使用注解carry来实现

对密码的修改

当然我们也可以怎么样

用另外一种方式

那么另外一种方式就是我在修改密码的时候

我只需要把原来的实体查询出来

再把密码修改掉

再给它保存回去

这也是没有问题的

所以这两种方式都可以选择

都是没有问题的

另外一种是模糊查询

Keyword

ByKeyword这个方法

它给出了一个关键字

通过关键字然后查询相关的用户信息

而且还可以进行分页

在jpa的查询里边

需要注意的是

只要你传递了Pageable

它就能够自动给你分页

按照Pageable提供的信息来进行分页

这是JPA已经封装好的地方

那么对其它的增删改查的方法就可以

完全的使用它的默认形式就可以了

那么通常情况下

我们设计了DAO以后就已经可以

实现我们的数据访问了

但是我们还需要去做一个接口

那就是服务接口

服务接口的作用是与Springmvc

进行交互的一个接口

它把Springmvc的对数据的访问与数据库访问

DAO进行了一个桥接

我们把所有的处理都放在服务中

来进行处理

我们来看一下Userservice

用户服务接口

这个接口对应有一个实现类

这两个都是我们自定义的接口和类

你要注意为什么我们要这么去做呢

Spring它在管理所有的Bin的时候

它对接口的应用非常的广泛

比如说它的典型的面向切面的AOP技术

它使用的就是接口

所以我们把所有的服务

DIO都用接口来实现

有利于我们在后期对它进行扩展

那么在服务里边

我们给出了基本的增删改查这样的操作

那么这些方法的在实现的时候

你需要调用的是JPA对应的相关的方法

如果我们出现了事务处理

你要注意在spring boot里边

SpringMVC以及Spring这样的框架里

你只需要简单地用注解实现事务处理就可以了

以保证我们数据的完整性

比如说我们同时存储好多个实体

或者同时删除多个实体的时候

你就要事务处理

那么我们把事务处理就放在服务层就可以了

那么为什么不放在DIO层呢

通常按照面向对象这样的设计思路

DIO层它往往在存储的时候

都是单个实体的存储

或者删除的时候也只是对单个实体的删除

当然了也可以实现多个

比如说删除jpa就提供了

多个删除这样的方法

那么对于更新和插入操作

DIO里面并没有提供一个

存多个实体的相关方法

它只能一个一个存

所以这个时候我们要想进行事务处理的话

就得把它放在service

因此还是建议

把所有的事务处理都放在Service里就可以了

那么有了Service这样的接口

我们就可以去实现对数据的进行访问了

那么在SpringMVC这一端

它要去访问数据库的数据

需要通过Service来实现

而调用Service的

是采用SpringMVC的控制器

对于控制器

我们给出了UserController这样一个类

你需要用注解去注明它是一个控制器

那么对于控制器来讲

它也包括了几个基本的方法

一个是save

当我要添加一个用户或者是编辑一个用户时

这个时候通过界面传递过来的数据

由controller接收

接收到以后

由save方法把它传递给服务

再去进行保存

而list的方法是

需要对所有的信息进行列表操作

所以它执行的是一个查询操作

那么提供的首先是一个关键字

key word

Pageable说明我们还需要一个翻页

有了这些

我们能够进行模糊查询

然后把它以列表的形式展示出来

这就是list的作用

同样的delete和delete All

这两个方法都是删除

delete只是删除一条信息

而delete All是删除多条信息

而删除的信息是由list对象给出的

这些方法它们最终返回到list的页面

这个要注意

看一下

还有一个方法叫findById这个是我们去修改

一个用户信息时

先要把它查出来

然后进行修改

所以我们需要一个findById这是一个

第二个当用户进行登录时

它还需要进行查询

那么它查询出来以后

这个时候也需要通过findById

或者findByaccount这样的方法去查询它

另外我们说修改密码

当用户需要改密码时

可以在界面提交一个修改密码的表单

然后通过我们的modify Password的方法来去修改

它的密码

那么修改完成后

这个方法它返回到修改密码页面

这个要注意

这个是我们对于用户的控制器的一个介绍

有关用户管理的相关功能就介绍到这里

下去以后一定要把它写成一个文档

放到你的设计文档中去

那么你要注意

在写文档的过程中

也是你对整个系统的熟悉过程

而且你也会考虑到是否遗漏了什么

你写的越多越详细

你会发现你考虑的越多越全面

所以一定要勤奋动手

把这些东西形成文档

好了

这节课就讲到这里

下节课咱们再见

软件开发实训--动态网站开发课程列表:

1 前端需求分析

-1.1课程介绍

--1.1.1课程介绍

--1.1.2课程介绍PPT

--1.1.3随堂测试

-1.2网站需求分析

--1.2.2网站需求分析

--1.2.3需求PPT

--1.2.4随堂测试

-1.3网站首页分析

--1.3.1网站首页分析

--1.3.2首页分析PPT

--1.3.3随堂测试

-1.4导航菜单分析

--1.4.1导航菜单分析

--1.4.2课程PPT

--1.4.3随堂测试

-1.5内容区域分析

--1.5.1内容区域分析

--1.5.2课程PPT

--1.5.3随堂测试

-1.6内容副页面分析

--1.6.1副页面分析

--1.6.2课程PPT

--1.6.3软件系统需求分析

-1.7编写需求文档

-1.8需求分析理解

2 后端分析

-2.1后端页面总体分析

--2.1.1后端页面总体设计

--2.1.2课程PPT

--2.1.3随堂测试

-2.2用户管理功能设计

--2.2.1用户管理功能分析

--2.2.2课程PPT

--2.2.3随堂测试

-2.3内容与分类功能分析

--2.3.1内容与分类功能分析

--2.3.2课程PPT

--2.3.3随堂测试

-2.4网站配置功能设计

--2.4.1网站配置功能设计

--2.4.2课程PPT

--2.4.3软件系统设计

--2.4.4随堂测试

-2.5数据库及表结构分析

--2.5.1数据库及表结构分析

--2.5.2课程PPT

--2.5.3数据库设计

-总体设计文档

3 接口设计

-3.1前台模板约定

--3.1.1前台模板约定

--3.1.2课程PPT

--3.1.3随堂测试

-3.2网站配置接口设计

--3.2.1网站配置接口设计

--3.2.2课程PPT

--3.2.3随堂测试

-3.3菜单接口设计

--3.3.1菜单接口设计

--3.3.2课程PPT

--3.3.3随堂测试

-3.4内容接口设计

--3.4.1内容接口设计

--3.4.2课程PPT

--3.4.3随堂测试

-3.5幻灯片接口设计

--3.5.1幻灯片接口设计

--3.5.2课程PPT

--3.5.3随堂测试

-补充设计文档

-3.7接口设计

4 功能设计

-4.1用户管理功能设计

--4.1.1用户管理功能设计

--4.1.2课程PPT

--4.1.3随堂测试

-4.2菜单管理功能设计

--4.2.1菜单管理功能设计

--4.2.2课程PPT

--4.2.3随堂测试

-4.3内容管理功能设计

--4.3.1内容管理功能设计

--4.3.2课程PPT

--4.3.3随堂测试

-4.4网站配置信息设计

--4.4.1网站配置信息设计

--4.4.2课程PPT

--4.4.3随堂测试

-完成设计文档

-4.6随堂测试

5 环境搭建与开发

-5.1开发环境搭建

--5.1.1环境搭建

--5.1.2随堂测试

-5.2Web前端环境搭建

--5.2.1Web前端环境

-5.3创建用户实体

--5.3.1用户实体创建

--5.3.2随堂测试

-5.4用户实体表创建与初始化

--5.4.1用户实体表创建与初始化

--5.4.2随堂测试

-5.5用户数据访问接口实现

--5.5.1用户数据访问接口实现

--5.5.2随堂测试

-5.6环境搭建问题

-5.7环境搭建问题

6 用户管理功能实现

-6.1用户服务层接口实现

--6.1.1用户服务层接口实现

--6.1.2随堂测试

-6.2用户列表和编辑控制器实现

--6.2.1用户列表和编辑控制器实现

--6.2.2随堂测试

-6.3用户存储和删除控制器实现

--6.3.1用户存储和删除控制器实现

-6.4用户添加、编辑界面实现

--6.4.1用户添加、编辑界面实现

-6.5用户管理添加用户调试

--6.5.1用户管理添加用户调试

-6.6开发

7 用户管理功能实现二

-7.1用户查询模板实现

--7.1.1用户查询模板实现

--7.1.2随堂测试

-7.2用户信息编辑的实现

--7.2.1用户信息编辑的实现

-7.3单个用户删除实现

--7.3.2单个用户删除实现

-7.4多个用户删除实现

--7.4.1多个用户删除实现

8 用户管理功能实现三

-8.1用户列表分页基本实现

--8.1.1用户列表分页基本实现

-8.2用户列表查询结果分页实现

--8.2.1用户列表查询结果分页实现

-8.3通用日期处理

--8.3.1通用日期处理

-8.4整型日期处理

--8.4.1整型日期处理

--8.4.2随堂测试

-8.5枚举数据的应用

--8.5.1枚举数据的应用

--8.5.2Spring Boot开发

9 后台主界面实现

-9.1登录逻辑实现

--9.1.1登录逻辑实现

--9.1.2随堂测试

-9.2登录界面及流程调试

--9.2.1登录界面及流程调试

--9.2.2随堂测试

-9.3管理主界面实现

--9.3.1管理主界面实现

--9.3.2随堂测试

-9.4授权验证拦截器实现

--9.4.1授权验证拦截器实现

--9.4.2随堂测试

-9.5拦截器调试

--9.5.1拦截器调试

10 分类管理实现

-10.1分类接口实现

--10.1.1分类接口实现

-10.2分类添加、编辑实现

--10.2.1分类添加、编辑实现

-10.3分类树结构实现

--10.3.1分类树结构实现

-10.4分类删除实现

--10.4.1分类删除实现

--10.4.2随堂测试

11 内容管理实现

-11.1内容实体定义

--11.1.1内容实体定义

-11.2相关接口定义

--11.2.1相关接口定义

-11.3服务接口实现

--11.3.1服务接口实现

-11.4内容添加、编辑模板实现

--11.4.1内容添加、编辑模板实现

-11.5内容添加、编辑控制器实现

--11.5.1内容添加、编辑控制器实现

-11.6内容检索页面实现

--11.6.1内容检索页面实现

-11.7内容分类树实现

--11.7.1内容分类树实现

12 UEditor富文本编辑器

-12.1修改UEditor相关问题

--12.1.1修改UEditor相关问题

-12.2整合UEditor到内容编辑界面

--12.2.1整合UEditor到内容编辑界面

-12.3UEditor图片对话框应用

--12.3.1UEditor图片对话框应用

-12.4文件上传问题处理

--12.4.1文件上传问题处理

13 网站配置管理实现

-13.1网站配置相关类实现

--13.1.1网站配置相关类实现

-13.2网站配置界面模板实现

--13.2.1网站配置界面模板实现

-13.3网站配置调试

--13.3.1网站配置调试

14 网站前端组件实现

-14.1网站首页布局实现

--14.1.1网站首页布局实现

-14.2菜单Vue组件实现

--14.2.1菜单Vue组件实现

--14.2.2随堂测试

-14.3幻灯片Vue组件实现

--14.3.1幻灯片Vue组件实现

-14.4滚动Vue组件实现

--14.4.1滚动Vue组件实现

--14.4.2随堂测试

-14.5滚动接口实现

--14.5.1滚动接口实现

-14.6滚动接口调试

--14.6.1滚动接口调试

-14.7幻灯片接口实现

--14.7.1幻灯片接口实现

15 网站前端页面实现

-15.1首页区域实现

--15.1.1首页区域实现

-15.2首页内容脚本实现

--15.2.1首页内容脚本实现

-15.3首页完善

--15.3.1首页完善

-15.4Vue组件放入单文件

--15.4.1Vue组件放入单文件

-15.5详细页面实现

--15.5.1详细页面实现

-15.6前端问题

16 测试与发布

-16.1网站测试介绍

--16.1.1网站测试介绍

--16.1.2课程PPT

-16.2功能测试

--16.2.1功能测试

--16.2.2课程PPT

-16.3打包发布

--16.3.1打包发布

-16.4部署运行

--16.4.1部署运行

--16.4.2随堂测试

4.1.1用户管理功能设计笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。