目录
软件开发经历的阶段:
整个过程是顺序展开的,所有通常称为瀑布模型
- 需求分析: 具体需要实现那些需求? 需求规格说明书
- 个人理解:也就是确定项目需要达到什么样的目的(效果),这个效果能否实现?(可行性研究与计划)
- 开发阶段:
- 分析:达到这个目的(效果)需要实现什么样的功能(需求分析)
- 设计:实现这些功能需要用到那些资料(数据库、页面模型、整个架构的设计文档、接口设计文档等)
- 编码:就是实现以上文档的整合,编码完需要进行测试
- 测试:交给测试人员测试(禅道系统)
总结:
分析前端:1.什么时候发生请求、2.需要传递的参数是什么、3.发送的是什么请求方式
出现的程序报错有:
前端返回的数据类型---不清楚
前端指定分页查询---没有定义参数和赋值
sql语法错误
后端请求的方式错误
sql语句不规范
开启弹窗错误
搭建环境:
各模块职责定位:
health_parent:父工程,打包方式为pom,统一锁定依赖的版本,同时聚合其他子模块便于统一执行maven命令
health_common:通用模块,打包方式为jar,存放项目中使用到的一些工具类和常量类
health_pojo:打包方式为jar,存放实体类和返回结果类等
health_dao:持久层模块,打包方式为jar,存放Dao接口和Mapper映射文件等
health_service:业务逻辑模块,打包方式为jar,存放业务逻辑实现类
health_web:打包方式为war,作为控制层,存放Controller、HTML页面、js、css、spring配置文件等,需要部署到tomcat运行
简单案例的分析思路:
一、涉及到数据库单表:
新增数据:
前端:
- 需求分析:点击“新建”按钮时,前端页面需要弹出新增数据的窗口,填充数据后点击“提交”按钮发送请求给后端
- 查看需要用到什么数据表来实现什么功能(新增数据)
- 编码分析:
- 点击“新建”弹出窗口,需要清空表单
- 填充表单的内容,点击“提交”,校验表单内容
- 校验成功则发生请求post方式
- 得到结果提示用户成功或者失败,刷新页面,关闭窗口
- 参数:新增传递的参数是一个对象
后端:
- 编码分析
- web层接收请求,请求的地址和参数一定要与前端一致
- 调用service层处理业务
- 调用dao层接口,映射,操作数据库
axios.post("请求地址",请求参数).then(response=> { //axios表示前端发送的请求,请求方式有GET/POST两种方式
//响应数据
})
页面分页显示数据:
前端:
- 需求分析:点击“菜单 ”中某一项按钮时,发送请求显示数据库所有数据;或者用户指定数据进行查询;或者点击指定页面跳转
- 查看需要用到什么数据表来实现什么功能(分页查询)
- 编码分析:
- 点击“菜单 ”中某一项按钮,或者用户输入条件查询分页,或者指定页码跳转,都会发起分页请求
- 即参数有:点击按钮会得到当前页数、当前页显示的数据量(条),以用户输入的条件为null。作为参数传递
- 使用钩子函数初始化数据
后端:
- 编码分析
- web层接收请求,请求的地址和参数一定要与前端一致
- 调用service层处理业务(使用分页插件依赖)
- 配置分页插件
- 设置当前页码、每页条数
- 需要被分页的查询语句编码
- 返回分页对象
- 调用dao层接口,映射,操作数据库
删除数据:
前端:
- 需求分析:点击“删除”按钮时,发送删除请求;
- 注:删除时需要判断操作的删除的表与其他表是否有关系
- 删除弹框可参考Element UI 官网中的组件https://element.eleme.cn/
- 查看需要用到什么数据表来实现什么功能(分页查询)
- 编码分析:
- 点击“删除”按钮,弹出确认提示框,如果用户点击确认,再发送删除请求
- 删除成功或者失败都有提示用户,并刷新页面
后端:
- 编码分析
- web层接收请求,请求的地址和参数一定要与前端一致
- 删除传递的参数(页面上点击删除可获取id值)
- 调用service层处理业务(操作删除的表与其他表是否有关联)
- 查询中间表是否存在
- 存在,不支持删除
- 不存在,删除记录
- 调用dao层接口,映射,操作数据库
编辑(更新、修改)数据:
前端:
- 需求分析:点击“编辑”按钮时,弹出窗口,回显数据,修改数据,点击提交按钮发生请求
- 查看需要用到什么数据表来实现什么功能(更新数据)
- 编码分析:
- 点击“编辑”弹出窗口,即点击编辑时通过id值来回显数据
- 修改更新表单的内容,点击“提交”,校验表单内容
- 校验成功则发生请求post方式
- 得到结果提示用户成功或者失败,刷新页面,关闭窗口
- 地址,参数1:点击编辑传递的时id值查询回显数据---操作回显数据
- 地址,参数2:点击提交,传递的时表单对象---操作编辑
后端:
- 编码分析
- web层接收请求,请求的地址和参数一定要与前端一致
- 调用service层处理业务
- 调用dao层接口,映射,操作数据库
快速定位前后端的报错问题:
前提:保证程序启动正常,启动失败一般出现在配置或者代码上的问题
前端调试:
1.Console: 页面js报错信息
2.Sources: 页面源码调试
3.NetWork:请求地址、请求方式、请求参数、状态码、响应结果
后台调试:
controller层进入的地方打断点,请求地址,请求参数,响应的结果是否正确
service层 进入的地方打断点,单步调试F8 F9(跳到下个断点)
dao层映射中的id值,参数类型,结果类型,sql语法