SpringMVC执行流程和组件有哪些详细说明?
- 内容介绍
- 文章标签
- 相关推荐
本文共计658个文字,预计阅读时间需要3分钟。
本文主要介绍了SpringMVC的执行流程及组件详解,通过示例代码展示了其非详细的实现,对初学者或工作者具有一定的参考价值,需要的伙伴可参考学习。一、核心模块:SpringMVC框架主要包括以下核心模块:1. 核心控制器DispatcherServlet:负责接收请求、处理请求、调用对应的处理器方法、返回响应。2. 处理器Handler:处理请求的类,负责执行具体的业务逻辑。3. 视图View:返回给客户端的视图,如JSP、HTML等。二、数据库访问:SpringMVC通过整合Hibernate、MyBatis等ORM框架,实现数据库访问。1. 使用Hibernate进行数据库访问。2. 使用MyBatis进行数据库访问。
这篇文章主要介绍了SpringMVC的执行流程及组件详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
一、核心模块
数据库访问技术与集成:JDBC、XML等
Web与远程调用技术:SpringMVC、WebServlet、WebSocket等
面向切面编程:AOP
基础设施:Tomcat
Spring核心容器:Beans、Core、Context、Expression、ContestSupport
测试:Test
二、执行流程
1.用户通过页面发送Ajax之类的请求,DispatcherServlet捕获并解析用户发来的请求URL,得到请求资源标识符URI
2.DispatcherServlet根据URI调用HandlerMapping,HandlerMapping根据请求URL查找Handler,并将请求映射为HandlerExecutionChain处理器执行链(包含处理器拦截器和处理器对象)
3.HandlerMapping返回HandlerExecutionChain给DispatcherServlet
4.DispatcherServlet根据获得的Handler选择HandlerAdapter,通过处理器适配器调用具体的处理器,HandlerAdapter把处理器包装为适配器,并开始执行拦截器的preHandler()方法,并根据适配器的结果调用真正的处理器的功能处理方法
5.调用具体的处理器Handler,在填充Handler的入参过程中spring将会进行:执行HttpMessageConveter、数据转换、数据格式化、数据验证,调用具体的Controller完成处理功能,并返回一个ModelAndView对象
6.Controller返回ModelAndView对象到HandlerAdapter
7.HandlerAdapter再将ModelAndView对象的视图逻辑名或模型返回给DispatcherServlet
8.DispatcherServlet调用视图解析器ViewResolver来解析HandlerAdapter传递过来的逻辑视图名
9.ViewResolver将解析的逻辑视图名传递给DispatcherServlet
10.DispatcherServlet根据解析出的视图结果,调用具体的视图,根据传来的Model模型数据进行渲染
11.最后View返还控制权给DispatcherServlet,由DispatcherServlet返回最终视图给用户
三、核心组件
1.DispatcherServlet:前端控制器,控制中心
2.HandlerMapping:解析请求URL,解析出控制器,从而映射控制器,相关类有16个
3.HandlerAdapter:调度Controller来处理业务逻辑
4.ViewResolver:解析DispatcherServlet传递的逻辑视图名,并将结果传递给DispatcherServlet
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。
本文共计658个文字,预计阅读时间需要3分钟。
本文主要介绍了SpringMVC的执行流程及组件详解,通过示例代码展示了其非详细的实现,对初学者或工作者具有一定的参考价值,需要的伙伴可参考学习。一、核心模块:SpringMVC框架主要包括以下核心模块:1. 核心控制器DispatcherServlet:负责接收请求、处理请求、调用对应的处理器方法、返回响应。2. 处理器Handler:处理请求的类,负责执行具体的业务逻辑。3. 视图View:返回给客户端的视图,如JSP、HTML等。二、数据库访问:SpringMVC通过整合Hibernate、MyBatis等ORM框架,实现数据库访问。1. 使用Hibernate进行数据库访问。2. 使用MyBatis进行数据库访问。
这篇文章主要介绍了SpringMVC的执行流程及组件详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
一、核心模块
数据库访问技术与集成:JDBC、XML等
Web与远程调用技术:SpringMVC、WebServlet、WebSocket等
面向切面编程:AOP
基础设施:Tomcat
Spring核心容器:Beans、Core、Context、Expression、ContestSupport
测试:Test
二、执行流程
1.用户通过页面发送Ajax之类的请求,DispatcherServlet捕获并解析用户发来的请求URL,得到请求资源标识符URI
2.DispatcherServlet根据URI调用HandlerMapping,HandlerMapping根据请求URL查找Handler,并将请求映射为HandlerExecutionChain处理器执行链(包含处理器拦截器和处理器对象)
3.HandlerMapping返回HandlerExecutionChain给DispatcherServlet
4.DispatcherServlet根据获得的Handler选择HandlerAdapter,通过处理器适配器调用具体的处理器,HandlerAdapter把处理器包装为适配器,并开始执行拦截器的preHandler()方法,并根据适配器的结果调用真正的处理器的功能处理方法
5.调用具体的处理器Handler,在填充Handler的入参过程中spring将会进行:执行HttpMessageConveter、数据转换、数据格式化、数据验证,调用具体的Controller完成处理功能,并返回一个ModelAndView对象
6.Controller返回ModelAndView对象到HandlerAdapter
7.HandlerAdapter再将ModelAndView对象的视图逻辑名或模型返回给DispatcherServlet
8.DispatcherServlet调用视图解析器ViewResolver来解析HandlerAdapter传递过来的逻辑视图名
9.ViewResolver将解析的逻辑视图名传递给DispatcherServlet
10.DispatcherServlet根据解析出的视图结果,调用具体的视图,根据传来的Model模型数据进行渲染
11.最后View返还控制权给DispatcherServlet,由DispatcherServlet返回最终视图给用户
三、核心组件
1.DispatcherServlet:前端控制器,控制中心
2.HandlerMapping:解析请求URL,解析出控制器,从而映射控制器,相关类有16个
3.HandlerAdapter:调度Controller来处理业务逻辑
4.ViewResolver:解析DispatcherServlet传递的逻辑视图名,并将结果传递给DispatcherServlet
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

