基于SSM框架的执行流程

我们知道SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架
那么SSM框架的执行流程是什么,我们今天来简单说一下
首先要知道SSM框架可以分为以下几层:
视图层:View层 → 表现层(springMVC):Controller层(Handler层):→ 业务层(Spring):Service层 → 持久层(Mybatis):Dao层(Mapper层)
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据
由于我上一篇博文具体讲了如何利用IEDA+Maven整合SSM框架,所以我今天讲到内容,包括框架和代码,都是基于上一篇博文
ps:博文地址↓↓↓↓↓
https://blog.csdn.net/weixin_43894142/article/details/93890429
那我就直接开始讲了,我们来跟踪一下程序的执行过程,以更改操作为例
首先运行程序,程序是从index.jsp文件开始执行的,然后就会打开如下页面
点击“点击进入管理页面”
在这里插入图片描述
点击之后,他就会执行如下代码中的内容,就是会执行/findAll.do路径下面的内容,也就是UserController类里的findAll()方法

在这里插入图片描述
在这里插入图片描述
这个方法执行完后,会跳转到allUser.jsp页面
在这里插入图片描述
也就是下面这个页面
在这里插入图片描述
这时候如果我们想更改“王五”的信息,点击更改按钮
在这里插入图片描述
它就会执行allUser.jsp中的如下代码
在这里插入图片描述
这时候它就会跳转到toUpdate.do,也就是跳到UserController类里的toUpdate()方法去执行
在这里插入图片描述
执行完后,就跳到updateUser.jsp页面
在这里插入图片描述
也就是如下页面
在这里插入图片描述
我们把名字和密码都修改,点击提交

在这里插入图片描述
在这里插入图片描述
然后就跳到这里来了
在这里插入图片描述
在update()方法中然后调用IUserService接口的updateUserInfo方法
在这里插入图片描述
在这里插入图片描述
这个方法在IUserService接口实现类UserServiceImpl中具体实现
在这里插入图片描述
在updateUserInfo方法中,调用了userDao接口中的updateUserInfo方法(这两个方法当时命名的时候特地命名成一样的)
在这里插入图片描述
在这里插入图片描述
这个方法在UserMapper.xml中实现
在这里插入图片描述
上面是SQL语句,封装在MyBatis中
要注意的是,id中的值,必须和IUserDao接口中的方法名相同;resultType:查询结果返回的类型
如果前面已经添加了命名空间,那么后面可以直接用UserInfo
在这里插入图片描述
这时候就会执行SQL语句,返回的结果为UserInfo类型
在这里插入图片描述

于是从这时候开始,结果开始回传

首先它的结果会返回到调用updateUserInfo方法的地方,也就是UserServiceImpl类中的updateUserInfo方法(这里我们就忽略不谈接口了,直接说这些接口的实现类)
我们可以看到UserServiceImpl类中updateUserInfo方法的返回值类型就是UserInfo,对应到了之前提到的返回类型:parameterType=“UserInfo”
在这里插入图片描述
这个方法返回的是int类型,其实也可以定义为boolean类型,因为我们只需要知道是否更新成功,也就是之需要知道userDao. updateUserInfo()方法是否正确执行。如果执行了,也就意味着更新操作正确执行了,就会返回真。反之就会返回假
接着它会返回调用处,也就是UserController类中的update方法中继续执行下面的代码
在这里插入图片描述
它会跳转到findAll.do,也就是findAll()方法去执行
在这里插入图片描述
于是他又回到了allUser.jsp界面,我们可以看到用户的信息已经更新

在这里插入图片描述
以上就是更改操作的所有执行过程

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值