ssm整合执行流程(图解)
博主是用的最简单得的一个ssm图书馆系统整合理解
思想原理还有里面的流程图是转载的狂神说java(B站)
ssm框架简单解析
springmvc 负责整个项目思想得架构
spring dao(操作数据库) 和service(业务逻辑)
mybatis (和spring-dao一起操作数据库)
项目整合文件结构
mvc执行原理
执行原理文字解析
1.结合操作,解析执行原理(登录操作)
view页面
2.前端利用一个from表单提交 username password数据
3.触发 登录input标签 URL会变http://localhost:8080/book/dengluyangzheng (url地址意思的访问本地服务器 8080端口上 /book/dengluyangzheng的控制器)
4.此时触发web.xml中的dispatcherServlet(分发管理器)处理URL信息(url地址的访问本地服务器 8080端口上 /book/dengluyangzheng的控制器)
5.此时dispatcherServlet调用springmvc配置文件中默认的映射器配置
6.查询对应的映射(猜测是在springioc容器中查询),查到之后 再调用handlerMappering中的实际组件,handlerExecution(执行器)解析的信息返回给dispatcherServlet
7.此时dispatcherServlet再调用springmvc配置文件中的默认适配器组件,适配器找到 /book/dengluyangzheng对应的控制器
8.此时调用controller层 /book/dengluyangzheng的控制器(控制层调用了service层(业务逻辑层)中的方法)
controller具体的运行步骤是
1.检测是否返回了提交了user实体类对象 无直接放回登录页面
2.通过业务层的方法 查找对应数据的方法
此时调用了service层中的配置文件中注册的实体类方法(servicebean)
3.此实体类(servicebean)方法调用了spring-dao.xml(整合mybatis和spring的配置文件)文件中的具体的依靠name查询具体用户的方法,此时调用的文件分别是dao层和service层,javaben几乎全部被调用了 spring-dao.xml文件调用mybatis层的增删改查方法,service将其的增删改查方法封装到service层中,实际上只调用了service层中方法,可以理解service层就是将spring和mybatis整合出的方法,全部整合在service层中
9.此时/book/dengluyangzheng控制器运行完之后将mode中的list数据返回到handlerAdapter适配器中,handlerAdapter返回给dispatcherServlet中
10.此时dispatcherServlet将数据返回springMVC中的视图解析器
11.视图解析器获得数据,返回给前端页面(通过jsp进行数据交互),得到最终得页面
12.将页面返回到dispatcherServlet中
13.dispatcherServlet将页面返回给客户端
结束
ps:编程新手水平有限,欢迎指正