java中controller层是干嘛的?
最近在研究开源框架的源码,打算改写开源框架,适用于自身的业务场景。于是找到了一个框架(spiderFlow)。
根据他的git上的教程,搭建了一个。
controller层,在我们写代码的时候,一般为接口层,与前端,也就是页面,进行亲密接触的那一层。
那他是怎么亲密的?使用google浏览器,按f12,点击network。
然后点击页面的按钮,就会发送http请求。比如我点击测试连接。
他就从测试连接,执行了这个test请求,这个请求实际是走的右边那个接口(接口就是亲密接触,和界面交互的地方),接口就是后端(服务器端)服务的一部分。
然后在controller类就能找到了,这个就是点击后,进来的后端方法
看方法里面,连接数据库的这些东西都被写的很简单,也不含操作数据库的sql语句。
尽是些return,返回给前端收到的标识。那controller层就是给前端提供标识?
没错,就是一些简单的判断,然后在不同的情况,返回给前端不同的内容,当然也可以不反回,不过一般都是要返回的,否则前端不知道,服务端,到底有没有执行这个接口该做的事情。
复杂的情况,统统封装起来,controller只显示业务逻辑,具体对代码的实现,隐藏在service层。
这样业务分离,逻辑看起来就很清晰,如果以后遇到什么问题,可以很快的定位到错误的位置,并且对于以后升级的需求也很方便修改。
总结:controller层,与前端(界面-客户端)交互。返回给客户端标识。不写复杂代码,只判断逻辑,根据判断(if语句类的),返回不同的结果。具体的代码实现细节,隐藏在service层,通过一行或多行(尽可能少量的代码调用)。
java中controller层是干嘛的?相关推荐
- Java中Controller层和Service层具体怎么区分
涉及请求.参数.序列化之类的逻辑可以放在controller. 而具体到数据的操作逻辑,也就是增删改查的操作都应该完整封装到service中. 一方面是对于事务的要求,比如一个请求过来,后台需要多步增 ...
- Java中dao层、service层、controller层、entity层和view层的概述
目录 DAO层:(持久层)主要与数据库进行交互 Service层:(业务层 )控制业务 Controler层:(控制层 )控制业务逻辑 Entity层: (实体层 )数据库在项目中的类 View层: ...
- Java中 Controller、Service 、Dao/Mapper层的区别
1.Service层:业务层-->控制业务 业务模块的逻辑功能设计,和DAO层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联.接下来就可以在service层调用接口进 ...
- [转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
首先这是现在最基本的分层方式,结合了SSH架构.modle层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操 ...
- java中mapper层作用_Java的MyBatis框架中Mapper映射配置的使用及原理解析
Mapper的内置方法model层就是实体类,对应数据库的表.controller层是Servlet,主要是负责业务模块流程的控制,调用service接口的方法,在struts2就是Action.Se ...
- JAVA中Action层, Service层 ,model层 和 Dao层的功能区分
首先这是现在最基本的分层方式,结合了SSH架构.model层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操 ...
- springboot中controller层代码优雅写法
在基于spring框架的项目开发中,必然会遇到controller层,它可以很方便的对外提供数据接口服务,也是非常关键的出口,所以非常有必要进行规范统一,使其既简洁又优雅. controller层的职 ...
- Spring中Controller层、Filter层、Interceptor层全局统一异常处理
Controller层.Filter层.Interceptor层全局统一异常处理 SpringBoot为异常处理提供了很多优秀的方法,但是像我这种新手在处理异常时还是会觉得一头包,终于我痛定思痛,总结 ...
- SpringBoot项目中Controller层代码编写规范整理
文章目录 Controller层代码规范 SpringMVC接口定义要注意以下常见的几种问题 1. 返回格式不统一 2. 没有考虑失败情况 3. 出现和业务无关的输入参数 Controller层代码规 ...
最新文章
- CentOS7 下面安装Mysql MMM
- 三个Javascript内容切换效果类
- sqlmap 相关参数
- 不能安装_钢厂为什么不能随意更换一氧化碳报警器安装位置
- React基础学习(第三天)
- sizeof string
- Linux 命令之 pwconv -- 开启用户的投影密码
- 通过java理解linux,Java继承的理解
- Android 平台架构
- 物流×科技,易流如何用IoT技术加速物流业数字化升级?...
- springboot租房管理系统答辩PPT模板
- Git下载、安装及环境配置(超详细)
- 前端练习:day02
- 【opencv4.3.0教程】05之基础结构2之矩形结构Rect_详解
- 基于 Stable Diffusion 一键 AI 作画:什么“小镇做题家”?人人都是艺术家
- 荣耀体质称显示网络服务器不可用,华为体脂秤如何重置
- python——自动化测试——API接口测试
- 【渝粤题库】广东开放大学Photoshop图像设计 形成性考核
- ConfigurationChanged流程梳理(屏幕旋转、语言及字体切换)
- discuz 获取所有版块并按父子层级排版