再记录:
因为使用泛型对公共代码大量抽取,用到了继承关系,则需将原来的在业务层的部分数据放到controller层校验
使他符合mvc的请求过程,即是一个完整处理的先后顺序问题
,对业务处理的时就必须先检验数据,再在进入业务层时再操作数据,以免重复操作,且肯定不会正确的请求造成的资源浪费

简单说:在service层需要用到已经被抽取的部分公共代码,且其中包含校验数据的一部分,但是它们由于继承的关系导致操作数据顺序与校验数据顺序反过来了,
则必须将service·中的公共代码完全放到controller层,恢复顺序,且能在service正常使用正确的数据

记一笔,控制层的代码,他不光控制还要校验数据!
我以前写的代码都是在服务层进行校验,
有些违背mvc设计思想;
例如将控制层的代码写到业务层,错误的将它当做业务处理,
还会因为框架的原因,代码耦合度不能最优,
当然,在实际写程序的过程中,并不一定能完全实现完全解耦。

`   T t = (T) object;// 获取客户端参数HttpServletRequest request = ServletActionContext.getRequest();String id = request.getParameter("id");Integer idInteger = -1;try {idInteger = Integer.valueOf(id);} catch (NumberFormatException e) {// TODO 自动生成的 catch 块e.printStackTrace();return TS.ERROR;}// 删除if (baseDaoImpl.deleteD(t, idInteger) == 1) {// 成功return TS.SUCCESS;}return TS.ERROR;`

应该吧整数校验放到action层!
不说了,去改代码了

设计进步,记一笔,控制层的代码,他不光控制还要校验数据!以前理解错啦相关推荐

  1. 实现以最快速度搭建springboot后台web项目并连通数据库实现控制层与服务层与dao层的select查询...

    背景 Servlet的出现 上世纪90年代,随着Internet和浏览器的飞速发展,基于浏览器的B/S模式随之火爆发展起来.最初,用户使用浏览器向WEB服务器发送的请求都是请求静态的资源,比如html ...

  2. 冲刺电赛之电磁炮的制作-控制层

    来了来了,有点迟,今天给大家讲一下电磁炮控制层的代码.首先人机交互,我这里和题目要求的有一点点的不一样,题目说是用键盘控制,我选择用的是蓝牙,型号HC-08,这是我用过HC系列最好用的,个人而言哈,用 ...

  3. Unity/c#鼠标右键控制相机围绕物体旋转/滚轮控制远近

    鼠标右键控制相机围绕物体旋转/滚轮控制远近 #c#代码` 鼠标右键控制相机围绕物体旋转/滚轮控制远近 using System.Collections; using System.Collection ...

  4. 表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)...

    转自:http://www.blogjava.net/jiabao/archive/2007/04/08/109189.html 为了实现web层(struts)和持久层(Hibernate)之间的松 ...

  5. 一个项目中说系统分为表现层、控制层、逻辑层、DAO层和最终数据库五层架构...

    表现层就是看到的东西,比如你现在看到的当前页面控制层就将你的请求从页面传到后台代码逻辑层就是处理你的请求的代码DAO层就是将数据存到数据库中的代码数据库就是数据库了,存东西用的DAO层就是将访问数据库 ...

  6. java系统项目分为哪五大层次?控制层_业务_一个项目中说系统分为表现层、控制层、逻辑层、DAO层和最终数据库五层架构-转...

    表现层就是看到的东西,比如你现在看到的当前页面 控制层就将你的请求从页面传到后台代码 逻辑层就是处理你的请求的代码 DAO层就是将数据存到数据库中的代码 数据库就是数据库了,存东西用的 ,DAO层就是 ...

  7. 控制层远程调用业务层_如何应用数据访问服务层分离系统中的业务层和持久层之间耦合关系...

    软件项目实训及课程设计指导--如何应用数据访问服务层分离业务层和持久层之间耦合关系 作者已经在本系列文章<软件项目实训及课程设计指导--如何正确地设计J2EE应用系统持久层中的各个组件结构及关系 ...

  8. 机电一体化PLC毕业设计、课程设计案例分享/液压、电梯、洗衣机、送料控制、步进电动机、装瓶流水线、大小球分拣传送、饮料罐装、自动售货机、立体车库、洗衣机、喷泉、机械手、卧式镗床、温度控制、供水系统……

    机电一体化PLC毕业设计.课程设计案例共有1000多套,部分目录如下: 双缸四柱液压机的液压系统设计和PLC控制[说明书(论文)+CAD (PLC控制框图+PLC输入输出接线图+液压系统原理图 机电一 ...

  9. 动手开发自己的mvc-2----完善控制层,提供自动注入和注解上传等功能

    当表单提交的内容过多 ,让懒惰的程序员一个个getParameter()是很让人抓狂的,所以自动注入表单域是mvc不可或缺的功能,另外,文件上传也是一个特殊的表单域,你想看到程序员发觉上传只需要注入就 ...

最新文章

  1. TinkerNode NB-IoT物联网开发板(NB-IoT专栏—拓展篇3)
  2. html css鼠标手型效果
  3. wireshark抓包数据学习
  4. (分组交换时延)谢希仁 第七版第一章1-10题详细解答
  5. python 拟牛顿法 求非线性方程_有限元简单科普之——改进的欧拉法
  6. debian GNU linux 版的docker 安装vi
  7. android技术总结
  8. Cypress自动化测试系列之三
  9. 接受吧,这世界充满潜规则
  10. vue-better-scroll引用报错[BScroll warn]: Can not resolve the wrapper DOM.
  11. pacman 查询_pacman命令
  12. 读书笔记:《重来REWORK》
  13. 纽约州立石溪分校计算机科学排名,纽约州立大学石溪分校计算机科学专业排名第40(2020年USNEWS美国排名)...
  14. 华为云PB级数据库GaussDB(for Redis)揭秘第八期:用高斯 Redis 进行计数
  15. 【工业视觉-CCD相机和CMOS相机成像的本质区别】
  16. SpringMVC学习日志
  17. python数据分析岗位做什么_给力!数据分析岗位内部人的建议,可以少走很多弯路...
  18. VMware虚拟机安装macos Big Sur 11.1.0 (20C69)镜像CDR/ISO下载
  19. 给LINUX安装JDK
  20. 演绎另类黑客马拉松,机智云中国第二届智能硬件36小时开发大赛完美收官

热门文章

  1. SpringBoot学习笔记(4)----SpringBoot中freemarker、thymeleaf的使用
  2. CentOS7 设置主机名及IP映射
  3. 【C/C++】知识点系统复习 (第一周)
  4. logback日志模板与详解
  5. java快速寻找一个数组的最大值或最小值, min, max,三种方法
  6. Aizu 2170 Marked Ancestor
  7. springMVC配置文件spring-servlet.xml中mvc:annotation-driven /的意义
  8. 第四章 分治策略 4.1 最大子数组问题 (暴力求解算法)
  9. C++中查看数据类型的方法
  10. 如何向本地MSDN帮助库中添加和修改一些帮助内容