当前课程知识点:软件开发实训--动态网站开发 > 4 功能设计 > 4.3内容管理功能设计 > 4.3.1内容管理功能设计
同学你好
欢迎回到软件开发实训课堂
上节课咱们讲了菜单的功能设计
那么这节课咱们来看一下内容管理的功能设计
在菜单管理功能设计的时候
咱们说了
需要通过实体DAO服务
控制器这几个层次
来对每一个数据表进行相关的功能设计
内容管理它属于整个网站中的核心部分
前端页面显示的几乎所有的文章类都是由内容
管理提供的
所以内容管理在网站中占据了非常重要的部分
我们来看一下该如何去做内容管理的功能设计
首先
网站大部分的内容都是以文章的形式给出的
也就是以文章为主
管理主要是对网站上的文章内容进行增删改查
而界面也就是我们管理的界面
主要围绕的就是一个查询列表页
当我们需要去管理内容时
我们只需要进入到列表页
在列表页中
你需要提供添加编辑删除排序等等操作的入口
这是你需要做的
还有当添加和编辑时
内容
因为它是文章
它有可能是文字
也有可能是文字加图片
甚至是视频
所以我们不能仅仅提供一个文本框给他
需要怎么办
我们需要有一个复文本编辑器
也就是在线html文本编辑器
现在在网上有很多这样的开源编辑器
比如说百度公司提供的Ueditor
在我们这门课里边咱们就使用Ueditor
作为训练的内容
那么对于内容管理
我们来看一下它的界面布局
首先我们需要有添加的入口按钮
然后进行内容检索的表单
在表单里面有关键字
有分类
这样的检索输入域
当输入完成后
只要点击查询按钮
底下的列表会根据条件出现对应的内容
而列表要注意
对于每一个字段所展示的数据
还要提供有排序
都要注意
比如说展示日期了
那么日期你是以这种减号间隔的形式
还是点来间隔
还是用汉字年月日
等等这些个都需要你去考虑的
最后有两个操作的入口
一个是对当前行的信息进行编辑的
编辑操作入口
还有一个对于不需要的文章
可以删除它有一个删除的入口
但是随着我们网站运行的时间不断的加长
那么内容会越来越多
内容多会造成我们这个页面
展示的速度越来越慢
比如说我们有一千一万条数据
这个时候我们展示一个页面是很难成功的
往往会卡死
所以我们还需要有一个功能
那就是分页
对我们的列表页进行分页
每页展示多少条
50条20条等等
这个都需要你设计好
这是有关界面的处理
你设计好界面以后
然后再进入到它的对应的
数据访问服务控制器的设计
我们来看
先是对实体的设计
实体
就是我们所说的要操作的数据
只不过它是面向对象的叫法叫做实体类
而这个对应的是表
这是数据库中的叫法
表
把它俩的名字注意有区别的
实体叫Content
实体的对应表叫Contents
这个要注意
当然你说我教程一样的行不行
没有问题也可以
而在实体中所有的实体属性
也就是表中的字段
到了实体里都是以私有的数据提供出来的
然后提供了getter和setter这样的访问方法
以便于其他类对它进行操作
还有为了能够唯一地表示一个实体
我们需要一个hashCode的这样的方法
还有当我们比较两个实体是否为同一个实体时
也就是是不是数据库表中的同一条记录
还需要提供一个equals方法
最后当我们想要把实体输出到我们的控制台
这个时候就需要把它提供一个toString方法
把它转换成字符串
然后输出到控制台
以方便我们观察它的数据信息
那么有了实体
就可以进行DAO的设计了
DAO就是数据访问对象
那么它主要是对我们的实体进行操作
而对于Jpa来讲
DAO设计是非常简单的
只需要定义一个接口
他去继承Jpa的数据访问接口
而提供给他的仅仅只是实体的类型
实体的主键类型
也就是关键字类型
最后你的自定义的方法
我们这里定义了一个内容的排序方法
这排序中第一个参数为编号
第二个为权重
你这个内容
它在整个内容列表中的排序的位置
用权重来表示
这就是DAO设计中你需要注意的
那么其他的增删改查方法
你都可以用默认的方法就可以了
因为Jpa它自带的数据访问
这个接口都已经定义好了
相关的增删改查方法
你不需要再去做
除非你需要独立的不同于他的方法
这个时候你才需要自己去定义增删改查方法
有了DAO这个时候我们就需要定义
去操作数据的服务类
服务类的作用
它是能够与数据和界面
进行交互的一个中间层的对象
我们首先定义服务接口
ContentService
然后用实现类去实现它
注意要包含所有你需要的方法
增删改查排序等等
这些个方法都要定义在ContentService里
因为我们服务层没有对应的封装类
或者接口让我们去继承
当然你自己可以写一个baseservice
基础service来实现
这些方法的定义
完了以后用这个接口去继承你基础服务接口
这样你就不用在每个接口里去定义什么存储
删除这些方法了
把公共的方法放在一个接口里定义
然后实现类去实现对应的相关的方法就可以了
有了服务
我们就可以去设计控制器了
控制器的作用是调用服务处理相关的业务
比如说我要批量删除
我不能在控制器里去删
而是把页面传过来的批量的数据提交给服务
然后有服务去执行数据的删除
最后把结果反馈给控制器
所以我们控制器的就比较简单了
它只需要设计你对应的相关方法
有存储列表
删除等等这样的方法
这些方法也需要你自己去定义
因为它没有对应的控制器
包含这些方法
而这些方法
它们在实现时完全调用的就是服务中对应的
方法来实现相关功能
最后控制器都要返回到list的页面
注意
所有的操作结果都是list的页面
所以在管理中list的页面是中心页面
其他的页面
仅仅只是围绕这list来进行展示
或者进行功能操作
最后如果你需要排序内容
可以提供一个排序的方法等等
在具体的实现的时候
我们就可以看到相关的内容
如何去实现
这里我们先把它这些内容思路理出来
理出来后
我们后边实现就简单了
好
有关内容管理功能的设计就讲这么多
这节课就讲到这里
下节课咱们再见
-1.1课程介绍
--1.1.3随堂测试
-1.2网站需求分析
--1.2.4随堂测试
-1.3网站首页分析
--1.3.3随堂测试
-1.4导航菜单分析
--1.4.3随堂测试
-1.5内容区域分析
--1.5.3随堂测试
-1.6内容副页面分析
-1.7编写需求文档
-2.1后端页面总体分析
--2.1.3随堂测试
-2.2用户管理功能设计
--2.2.3随堂测试
-2.3内容与分类功能分析
--2.3.3随堂测试
-2.4网站配置功能设计
--2.4.4随堂测试
-2.5数据库及表结构分析
-总体设计文档
-3.1前台模板约定
--3.1.3随堂测试
-3.2网站配置接口设计
--3.2.3随堂测试
-3.3菜单接口设计
--3.3.3随堂测试
-3.4内容接口设计
--3.4.3随堂测试
-3.5幻灯片接口设计
--3.5.3随堂测试
-补充设计文档
-4.1用户管理功能设计
--4.1.3随堂测试
-4.2菜单管理功能设计
--4.2.3随堂测试
-4.3内容管理功能设计
--4.3.3随堂测试
-4.4网站配置信息设计
--4.4.3随堂测试
-完成设计文档
-4.6随堂测试
-5.1开发环境搭建
--5.1.2随堂测试
-5.2Web前端环境搭建
-5.3创建用户实体
--5.3.2随堂测试
-5.4用户实体表创建与初始化
--5.4.2随堂测试
-5.5用户数据访问接口实现
--5.5.2随堂测试
-5.6环境搭建问题
-6.1用户服务层接口实现
--6.1.2随堂测试
-6.2用户列表和编辑控制器实现
--6.2.2随堂测试
-6.3用户存储和删除控制器实现
-6.4用户添加、编辑界面实现
-6.5用户管理添加用户调试
-7.1用户查询模板实现
--7.1.2随堂测试
-7.2用户信息编辑的实现
-7.3单个用户删除实现
-7.4多个用户删除实现
-8.1用户列表分页基本实现
-8.2用户列表查询结果分页实现
-8.3通用日期处理
-8.4整型日期处理
--8.4.2随堂测试
-8.5枚举数据的应用
-9.1登录逻辑实现
--9.1.2随堂测试
-9.2登录界面及流程调试
--9.2.2随堂测试
-9.3管理主界面实现
--9.3.2随堂测试
-9.4授权验证拦截器实现
--9.4.2随堂测试
-9.5拦截器调试
-10.1分类接口实现
-10.2分类添加、编辑实现
-10.3分类树结构实现
-10.4分类删除实现
--10.4.2随堂测试
-11.1内容实体定义
-11.2相关接口定义
-11.3服务接口实现
-11.4内容添加、编辑模板实现
-11.5内容添加、编辑控制器实现
-11.6内容检索页面实现
-11.7内容分类树实现
-12.1修改UEditor相关问题
-12.2整合UEditor到内容编辑界面
-12.3UEditor图片对话框应用
-12.4文件上传问题处理
-13.1网站配置相关类实现
-13.2网站配置界面模板实现
-13.3网站配置调试
-14.1网站首页布局实现
-14.2菜单Vue组件实现
--14.2.2随堂测试
-14.3幻灯片Vue组件实现
-14.4滚动Vue组件实现
--14.4.2随堂测试
-14.5滚动接口实现
-14.6滚动接口调试
-14.7幻灯片接口实现
-15.1首页区域实现
-15.2首页内容脚本实现
-15.3首页完善
-15.4Vue组件放入单文件
-15.5详细页面实现
-16.1网站测试介绍
-16.2功能测试
-16.3打包发布
-16.4部署运行
--16.4.2随堂测试