• SpringMvc内置的九大组件


    九大组件:

    1、HandlerMapping
    2、HandlerAdapter
    3、HandlerExceptionResolver
    4、viewResolver
    5、RequestToViewNameTranslator
    6、LocalResolver
    7、ThemeResolver
    8、MultiPartResolver
    9、FlashMapManager

    // 初始化 MultipartResolver:主要用来处理文件上传.如果定义过当前类型的bean对象,那么直接获取,如果没有的话,可以为null
    initMultipartResolver(context);
    // 初始化 LocaleResolver:主要用来处理国际化配置,基于URL参数的配置(AcceptHeaderLocaleResolver),基于session的配置(SessionLocaleResolver),基于cookie的配置(CookieLocaleResolver)
    initLocaleResolver(context);
    // 初始化 ThemeResolver:主要用来设置主题Theme
    initThemeResolver(context);
    // 初始化 HandlerMapping:映射器,用来将对应的request跟controller进行对应
    initHandlerMappings(context);
    // 初始化 HandlerAdapter:处理适配器,主要包含Http请求处理器适配器,简单控制器处理器适配器,注解方法处理器适配器
    initHandlerAdapters(context);
    // 初始化 HandlerExceptionResolver:基于HandlerExceptionResolver接口的异常处理
    initHandlerExceptionResolvers(context);
    // 初始化 RequestToViewNameTranslator:当controller处理器方法没有返回一个View对象或逻辑视图名称,并且在该方法中没有直接往response的输出流里面写数据的时候,spring将会采用约定好的方式提供一个逻辑视图名称
    initRequestToViewNameTranslator(context);
    // 初始化 ViewResolver: 将ModelAndView选择合适的视图进行渲染的处理器
    initViewResolvers(context);
    // 初始化 FlashMapManager: 提供请求存储属性,可供其他请求使用
    initFlashMapManager(context);

    SpringMvc定义Controller有三种方式:

    1、注解 @Controller
    2、实现Controller接口
    3、实现HttpRequestHandler
    第二种和第三种实现Controller必须在配置文件中定义bean信息,定义的名称必须加上"/"

  • 相关阅读:
    MySQL 主从复制与读写分离
    内存分析总结
    jtag调试ls1012a linux-5.3内核
    YOLOV5学习笔记(七)——训练自己数据集
    猿创征文|Highgo Database安全版安装指导手册
    Cocos Creator 3.8.x 后效处理(前向渲染)
    卷积神经网络的算法过程,卷积神经网络原理简述
    SVN项目,提交Git保留之前提交记录
    【一月一本技术书】-【Go语言设计与实现】- 9月
    设计模式 人类父母和猫孩子的关系理解观察者模式(发布订阅模式)
  • 原文地址:https://blog.csdn.net/weixin_47068446/article/details/126445478