zoukankan      html  css  js  c++  java
  • Spring MVC流程

    具体流程

    1.请求离开客户端,带上用户所请求内容的信息,如url、参数等

    2.请求到达DispatcherServlet,这是一个前端控制器,一个用于调度的Servlet,此时它的职责是,将请求发送给不同的控制器(controller)

    3.请求到达Controller后卸下负载(信息),等待Controller处理,而Controller完成逻辑处理,生成一些信息,称为Model(模型),这种原始的信息需要进行格式化以便呈现给用户(例如HTML的方式)。

    4.Controller将Model打包,标示用于渲染的视图名,连同请求一起返送给DispatcherServlet

    备注: 调度完全由DispatcherServlet处理,实现Controller和View的解耦

    此视图名不是真实视图名,而是逻辑名称

    5.Dispatcher Servlet通过view resolver(视图解析器)得出真实视图名

    6.对应的视图通过Model渲染出输出

    7.输出通过响应对象返回给客户端

    容器间的关系:  

    web容器->servlet容器(servlet上下文)->spring容器->spring MVC子容器

    常用的servlet容器: Tomcat,值得注意的是SpringBoot默认使用Tomcat作为嵌入式的Servlet容器;

    -------------------------------------------------------------------------

    项目操作流程

    配置DispatcherServlet

    前提:

    1.javax.servlet.ServletContainerInitializer用来配置servlet容器 s

    2.SpringServletContainerInitializer实现了它 s1实现s

    3.SpringServletContainerInitializer查找实现WebApplicationInitializer的类 s1查找w

    4.AbstractAnnotationConfigDispatcherServletInitializer实现WebApplicationInitializer w1实现w

    同时它能创建DispathcerServlet,DispathcerServlet启动时会创建Spring应用上下文

    其实AbstractAnnotationConfigDispatcherServletInitializer不仅创建DispatcherServlet,也会创建ContextLoaderListener

    DispatcherServlet: 创建spring应用上下文,加载属于web组件的bean,例如控制器、视图解析器及处理器映射 getServletConfigClasses

    ContextLoaderListener: 创建??应用上下文,加载其他bean,例如驱动应用后端的中间层和数据层组件 getRootConfigClasses

    启用Spring MVC

    SpittrWebAppInitializer 

    WebConfig

    @Configuration

    @EnableWebMvc

    内部配置视图解析器 @Bean

    重写对静态资源的处理

    RootConfig

  • 相关阅读:
    多个相同结构的表的字段的修改、添加
    SQL SERVER 查询去重 PARTITION BY
    message from server: "Host 'xxx' is not allowed to connect to th
    jdk 1.8 连接数据库
    恢复SQLServer数据库后,如何同步登陆名和用户名
    无法识别的属性“targetFramework”。请注意属性名称区分大小写。错误解决办法
    jquery.tablesorter 使用
    MD5加密
    C# 判断是否是节假日
    word ladder
  • 原文地址:https://www.cnblogs.com/yanze/p/9486359.html
Copyright © 2011-2022 走看看