SpringMVC的执行流程及组件详解

这篇文章主要介绍了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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


SpringMVC1.MVC架构MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范是将业务逻辑、数据、显示分离的方法来写代码MVC主要作用是:降低了视图和业务逻辑之间的双向耦合MVC是一个架构模型,不是一种设计模式。1.model(模型)数据模型,提供要展示的数据,因此包
SpringMVC学习笔记1.SpringMVC应用1.1SpringMVC简介​SpringMVC全名叫SpringWebMVC,是⼀种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品。​MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(co
11.1数据回显基本用法数据回显就是当用户数据提交失败时,自动填充好已经输入的数据。一般来说,如果使用Ajax来做数据提交,基本上是没有数据回显这个需求的,但是如果是通过表单做数据提交,那么数据回显就非常有必要了。11.1.1简单数据类型简单数据类型,实际上框架在这里没有
一、SpringMVC简介1、SpringMVC中重要组件DispatcherServlet:前端控制器,接收所有请求(如果配置/不包含jsp)HandlerMapping:解析请求格式的.判断希望要执行哪个具体的方法.HandlerAdapter:负责调用具体的方法.ViewResovler:视图解析器.解析结果,准备跳转到具体的物
1.它们主要负责的模块Spring主要应用于业务逻辑层。SpringMVC主要应用于表现层。MyBatis主要应用于持久层。2.它们的核心Spring有三大核心,分别是IOC(控制反转),DI(依赖注入)和AOP(面向切面编程)。SpringMVC的核心是DispatcherServlet(前端控制器)。MyBatis的核心是ORM(对
3.注解开发Springmvc1.使用注解开发要注意开启注解支持,2.注解简化了,处理映射器和处理适配器,只用去管视图解析器即可案例代码:1.web.xml,基本不变可以直接拿去用<!--调用DispatcherServlet--><servlet><servlet-name>springmvc</servlet-name>
拦截器概述SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。**过滤器与拦截器的区别:**拦截器是AOP思想的具体应用。过滤器servlet规范中的一部分,任何javaweb工程都可以使用
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:xsi="
学习内容:1、SSH&SSM2、Spring3、Struts2&SpringMVC4、Hibernate&MyBatis学习产出:1.SSH和SSM都是有Spring框架的,他们两个差不多。2.Spring分为四个模块,持久层,表示层,检测层,还有核心层,核心层分为2个关键核心功能。分别为,控制反转(IOC),依赖注入(DI),和面向切面编程
一、SpringMVC项目无法引入js,css的问题具体原因是css和js等被SpringMVC拦截了:解决方案:在spring-mvc.xml中配置<mvc:default-servlet-handler/><?xmlversion="1.0"encoding="UTF-8"?><beansxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
开发环境:Eclipse/MyEclipse、Tomcat8、Jdk1.8数据库:MySQL前端:JavaScript、jQuery、bootstrap4、particles.js后端:maven、SpringMVC、MyBatis、ajax、mysql读写分离、mybatis分页适用于:课程设计,毕业设计,学习等等系统介绍
需求我们为客户开发了移动端应用,基于数据安全性的考虑,需要将业务数据按照数据库隔离的方式进行设计。数据库架构数据库设计说明master数据库用于基础数据的管理和综合业务查询–基础数据包括:用户、角色、权限等—主要负责,你是谁,你从哪来,你要去哪的问题–综合业务查
文章目录1.什么是SpringMVC?简单介绍下你对SpringMVC的理解?2.SpringMVC的流程?3.SpringMVC的优点4.SpringMVC怎么样设定重定向和转发的?5.SpringMVC常用的注解有哪些?6.SpingMVC中的控制器的注解一般用哪个?有没有别的注解可以替代?7.SpringMVC里面拦截器是怎么写的?8.Sprin
目录项目介绍所用技术系统功能模块图登录注册界面搜索房屋房屋管理信息统计项目介绍普通用户:在线搜索房屋、预定房屋、收藏房屋,用户住房后可以对房东或房屋进行评价等功能。房东:用户可以申请成为房东,成房东后可以创建房屋,发布房屋,修改房屋等功能。管理员:管理员作为
当用户请求到达前端控制器(医院服务台),真正做工作的是处理器(医生),但前端控制器不能直接找到处理器干活,要先找到处理器映射器(挂号处:告诉哪个处理器能干这个活),找处理器是适配器,匹配对应的处理器干活,处理器干完活,返回ModelAndView(药方)给处理器适配器,处理器不干活,往前传给前端控制
springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合。springmvc是一个基于mvc的web框架。springmvc表现层:方便前后端数据的传输SpringMVC拥有控制器,作用跟Struts类似,接收外部请求,解析参数传给服务层
文章目录1SpringMVC拦截器1.1拦截器的作用1.2拦截器和过滤器的区别1.3拦截器快速入门1.4拦截器方法说明1SpringMVC拦截器1.1拦截器的作用SpringMVC的拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理将拦截器按一定的顺序联结成一条链,这条
1.用户发送请求至前端控制器DispatcherServlet。2.DispatcherServlet收到请求后调用HandlerMapping处理器映射器。3.处理器映射器根据请求URL查找匹配该url的Handler,并返回一个执行链。4.DispatcherServlet再请求处理器适配器(HandlerAdapter)调用相应的Handler进行处理并
前面和小伙伴们聊了SpringMVC的初始化流程,相信大家对于SpringMVC的初始化过程都有一个基本认知了,今天我们就来看看当一个请求到达后,它的执行流程是什么样的?当然这个流程比较长,松哥这里可能会分两篇文章来和大家分享。很多小伙伴都知道SpringMVC的核心是DispatcherSer
一、框架默认加载组件1、处理器映射器与处理器适配器从spring3.1版本开始,废除了DefaultAnnotationHandlerMapping的使用,推荐使用RequestMappingHandlerMapping完成注解式处理器映射。(2)修改springmvc.xmla、处理器映射器<beanclass="org.springframework.web.servlet