首页 > 其他分享 >简单介绍 Spring MVC 的核心组件

简单介绍 Spring MVC 的核心组件

时间:2023-09-11 21:22:34浏览次数:30  
标签:解析器 Spring 视图 MVC 处理器 组件

DispatcherServlet 和九大组件(按使用顺序排序的):

组件 说明
DispatcherServlet Spring MVC 的核心组件,是请求的入口,负责协调各个组件工作
MultipartResolver 内容类型( Content-Type )为 multipart/* 的请求的解析器,例如解析处理文件上传的请求,便于获取参数信息以及上传的文件
HandlerMapping 负责为请求找到合适的 HandlerExecutionChain 处理器执行链,包含处理器(handler)和拦截器们(interceptors)
HandlerAdapter 处理器的适配器。因为处理器 handler 的类型是 Object 类型,需要有一个调用者来实现 handler 是怎么被执行。Spring 中的处理器的实现多变,比如用户处理器可以实现 Controller 接口、HttpRequestHandler 接口,也可以用 @RequestMapping 注解将方法作为一个处理器等,这就导致 Spring MVC 无法直接执行这个处理器。所以这里需要一个处理器适配器,由它去执行处理器
HandlerExceptionResolver 处理器异常解析器,将处理器( handler )执行时发生的异常,解析( 转换 )成对应的 ModelAndView 结果
RequestToViewNameTranslator 视图名称转换器,用于解析出请求的默认视图名
LocaleResolver 本地化(国际化)解析器,提供国际化支持
ThemeResolver 主题解析器,提供可设置应用整体样式风格的支持
ViewResolver 视图解析器,根据视图名和国际化,获得最终的视图 View 对象
FlashMapManager 负责重定向时,保存参数至临时存储(默认 Session)

Spring MVC 对各个组件的职责划分的比较清晰。DispatcherServlet 负责协调,其他组件则各自做分内之事,互不干扰。

标签:解析器,Spring,视图,MVC,处理器,组件
From: https://www.cnblogs.com/xiuer211/p/17694535.html

相关文章

  • Spring 事务
    Spring事务实现方式有哪些编程式优点:灵活缺点:麻烦,难以维护声明式加注解Spring的事务管理有什么优点支持声明式事务管理提供跨不同事务api的一致事务模型传播规则借用别人的的图片方便记忆支持当前事务的“女生”,这里的事务指的是“房子”,它分为3种(普通型......
  • Django-分页组件
    在/test_orm/文件夹下新建一个文件夹utils,在其下新建一个paginater.py:classPaginater():def__init__(self,url_address,cur_page_num,total_rows,one_page_lines=10,page_maxtag=9):"""url_address:页码标签href的地址,也就是分页功能的网页URL......
  • SSM SpringBoot vue快递柜管理系统
    SSMSpringBootvue快递柜管理系统系统功能登录注册个人中心快递员管理用户信息管理 用户寄件管理配送信息管理寄存信息管理开发环境和技术开发语言:Java使用框架:SSM(Spring+SpringMVC+Mybaits)或SpringBoot前端:vue数据库:Mysql架构:B/S源码类型......
  • Spring中@Autowired、@Qualifier、@Resource、@Primary、@Inject注解的区别
       @Primary注解在Spring框架中用于解决自动装配冲突。当存在多个类型相同的Bean时,如果没有使用@Qualifier注解或者@Qualifier注解没有指定Bean的名称,Spring框架将无法判断应该使用哪个Bean进行注入。此时,可以使用@Primary注解来指定默认的Bean。被@Primary注解的Bean会优......
  • spring和springboot注解的使用
    spring和springboot注解的使用首先看一下ElementType取值范围://用于描述类、接口(包括注解类型)或enum声明TYPE,//用于描述域FIELD,//用于描述方法METHOD,//用于描述参数PARAMETER, //用于描述构造器CONSTRUCTOR,//用于描述局部变量......
  • SpringBoot-Learning系列之Kafka整合
    SpringBoot-Learning系列之Kafka整合本系列是一个独立的SpringBoot学习系列,本着WhatWhyHow的思想去整合Java开发领域各种组件。消息系统主要应用场景流量消峰(秒杀抢购)、应用解耦(核心业务与非核心业务之间的解耦)异步处理、顺序处理实时数据传输管道异构语言架构......
  • SpringBoot集成微信支付JSAPIV3保姆教程
    前言最近为一个公众号h5商城接入了微信支付功能,查找资料过程中踩了很多坑,以此文章记录一下和大家分享前期准备公众号认证微信支付功能需要开通企业号并进行资质认证,费用一年300,且需企业营业执照等信息,对公账户打款验证登录微信公众平台https://mp.weixin.qq.com/,创建服务号如......
  • SpringBoot集成微信支付JSAPIV3保姆教程
    前言最近为一个公众号h5商城接入了微信支付功能,查找资料过程中踩了很多坑,以此文章记录一下和大家分享前期准备公众号认证微信支付功能需要开通企业号并进行资质认证,费用一年300,且需企业营业执照等信息,对公账户打款验证登录微信公众平台https://mp.weixin.qq.com/,创建服务号......
  • springboot的bean的声明周期
    创建对象属性填充aware接口的对应方法init-method方法(@PostConstruct)initialingBean接口的方法BeanPostProcessor的前置方法BeanPostProcessor的后置方法DisposableBean的distory方法测试对象@ComponentpublicclassTestControllerimplementsBeanNameAware,Initial......
  • 百度开源上传组件webuploader
    //上传多文件   functionUploadMultiFile(){       varuploader=WebUploader.create({           //选完文件后,是否自动上传。           auto:true,           //swf文件路径           swf:'~/Cont......