当前课程知识点:软件开发实训--动态网站开发 > 6 用户管理功能实现 > 6.5用户管理添加用户调试 > 6.5.1用户管理添加用户调试
同学你好
欢迎回到软件开发实训课堂
上节课咱们把模板界面实现完成了
那么这节课咱们来调试一下关于添加用户的
相关操作
那么我们编写的到底能不能正常运行
我们来看看
首先我们要启动我们的应用程序
保证它是启动状态
然后打开我们的浏览器
去访问我们的路径
我们的路径是edituser注意要从
控制器给出的路径来访问
而不是直接访问的
页面
当我们打开界面时可以看到整体的效果并不是
我们想要的
的效果行列
它都没有显示出来这个效果
按钮也是原始的效果
打开我们的编辑页面
我们来看一下
为什么他没有去解析我们的路径
好我们来看一下
注意
在我们使用simleaf这个模板的时候
你要注意用到了它的表达式
用到他的表达式以后
我们必须怎么样
给它加前缀
加上前缀
让它能够去执行我们相关的操作
不能直接使用在html属性上
我们可以检查一下
是不是所有的这样的属性都有
然后我们再来运行一下
保存后
我们刷新一下界面
这样的话我们网页的效果已经出来了
虽然它是一行没有关系
我们先来看一下它是否能添加数据
进入到我们的库里边去
账号
我们先输入一些账号信息
然后密码姓名
手机号
我们说一些数字
电子邮件
我们然后提交
这里会看到电子邮件的格式不正确
他能够给你提示
这是H5提供的一个功能
好
我们现在再次提交
提交后我们来看一下
这里边又出现了一个圈A然后是我们的
这很明显说明我们的action并没有加前缀
我们找到action把前缀给它加上
这样它才能把它解析为正确的路径
好
返回到我们的表单
注意这里要刷新一下
也就是我们的数据需要重新录入
然后密码姓名
手机
输入电子邮件
点击保存后
我们来看一下
它出现了一个500的错误
500的错误出现后
我们需要打开一下我们的消息
看看是什么消息在我们的开发工具上
我们走到最后
然后从下往上找到我们的错误消息
一般情况下
错误消息与下面错误的类会有一个缩进
看一下这一行
他这下面的at
就指出了是哪一个类来抛出的异常
然后突出的这一行也就是消息的第一行
它会有提示说
template模板不存在
不可访问
这就是说我们有一个模板
他不能访问
那么我们添加完成后
你看一下他的错误已经告诉你
转向了listusers
这也是我们对整体的流程它的一个控制
当我们添加完成后
save完成后我们转向了list users
也就是说我们在校验用户的过程中并没有
发生异常
而直接进入到list users
现在我们来再输入一个错误的信息
看看我们的程序是否能够过去
我们用空的密码来提交我们的信息
这里边我们把用户改一下
我们的密码是必须要输入
因为我们在H5里边已经加了属性
所以它提示我们必须输入密码
我们来输入一下
但是它的长度我们并没有去验证
这个要注意
我们还没有去加这个验证的
相关代码
只是有空和不空的验证
也是提交成功了我们
制造一个错误
打开浏览器的开发环境
按F12键
然后我们去掉它的铝块儿的属性
这样我们再来提交一下
现在我们又发生了错误
我们再来看具体的错误信息
消息的最下面
然后向上找
我们来看一下
它依然是
不存在我们的模板提示消息
实际上我们的数据库已经执行完成了
可以看到这条insert语句已经出现了
我们来看一下
这是实际上我们的空密码并没有引发他的错误
打开命令行
我们去看一下
是否插入了数据库里了
如果插入成功的话
我们至少有两条以上的数据看一下
第一个用户 是我们默认添加的信息
而下面的编号为234
这三条是我们刚才通过界面添加进来的数据
也就是我们的存储流程是没有问题了
而这里边还有一个问题就是内幕属性
这是账号和
注意这个对应关系
它这有折行
所以要对应起来他重复了
不应该
所以这个问题我们需要去解决它
然后我们再来看一下密码
我们看到第一次输入的密码
123123有了
第二次输入了一个
X第三次你看我们密码
它虽然我们没有输入任何信息
可是他不为而是一个空
这个要注意
字符串空和这个还是不一样的
就说明它不占空间
而这个字符串空它实际上还是有一个空间的
这是通过数据我们发现了一个账号重复的问题
回到我们的开发环境
我们把重复性的问题给它解决掉
我们找到实体
然后找到我们的account
account这里边除了给出长度是30
和不能为空以外
没有其他的约束
所以他会出现重复
这里边我们来约束他
约束可以通过column这里边来约束
column里面他有几个属性
第一个就是我们现在给出的lengthy
还有一个你可以指定名称
以及是否可控
比如说这里有nullable false
就是不能为空
但是它还提供了一个
unique 就是唯一性的
检查我们来看一下
叫做unique
他默认值false就是说不唯一
我们把它设为唯一的unique
唯一性为true
这样我们再来保存
因为我们的数据实际上是已经出现了重复
所以我们需要把数据可以清理一下
可以清理一下
我们先来
我们先来从网页上提交重复性的数据
比如说这个一我们已经有了
是吧
我们输入密码
然后提交这个用户应该是存在的
现在
我们来看它报的错误
是否跟我们的还是这个模板有关
我们还是把这个模板给他加上
省的模板老出现错误
这里边说明我们的验证在控制器里的验证
valid没有执行这个错误
我们来看一下
listusers
我们把它加上加一个空的这样的页面
先把这个错误让他不再发生
有了这么一个文件后
他就能够不再出错
不再出找不着模板的错误了
现在我们再回到界面上
提交相同的数据
这出现了一个重复性的错误
这个错误依然是没有被验证出来
那么我们看一下
实际上我们的users里边这个约束
使用的是column字段
column字段对属性呢进行注解
它只是对数据库的一个定义
所以在我们的验证里边并没有去验证唯一性
那么我们要想去验证唯一性的话
还得需要去捕获数据库的相关错误
对于 注解的验证
它只能验证在这里注解的有关像notnull
或者是email max等等这样的注解
有关 相关的验证的一些注解
可以查看一下它相关的一个文档
我们这里先来捕获一下数据库的异常
数据库异常的捕获呢
通过
service这里就可以
我们来找到save方法
在save方法里我们去捕获它
我们用exception来进行捕获
那么然后把它抛出去
在这里我们定义一个抛出异常语句
这样我们就需要去改我们的接口
在接口上也增加一个抛出异常的语句
通常在实际开发中
你尽量的定义一个自己的异常类来进行抛出
这样有便于你处理
这里我们简化抛出
我们直接使用这个exception
来抛出所有的异常
有了这个以后
在存储这块我们就需要去捕获异常
我们不能再抛了
直接把它捕获一下
当发生异常时
我们直接让它回到我们的编辑页面
好
现在我们来
通过界面重新提交一个重复性的数据
这样他就回到了我们的编辑页面
所以要区别一下valid它的校验
实际上是在user里边对应的一些注解
能够被校验
但是像数据库里面的它还是不能被校验
因此我们需要去捕获它
这就是有关
调试
关于用户编辑流程的调试就讲到这里
下节课我们再见
-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随堂测试