SpringMVC——环境搭建及运行分析

SpringMVC的概念

服务器分为三个框架:
SpringMVC——环境搭建及运行分析
其中SpringMVC属于表现层的框架

什么是SpringMVC

springmvc属于springframework的产品,Spring框架提供了构建Web应用程序的全功能MVC模块,使用Spring可插入的MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架

SpringMVC的三层框架

  • Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为)
  • View(视图):负责进行模型的展示,一般就是我们见到的用户界面
  • Controller(控制器):接受用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示

SpringMVC运行原理

SpringMVC——环境搭建及运行分析

  1. 首先用户发出请求,该请求传到前端控制器(DispatcherServlet)
  2. 前端控制器向处理映射器(HandlerMapping)发出handler(handler就是对Controller的Bean本身和请求Method的包装
  3. 处理映射器会把请求映射为HandlerExecutionChain类型的handler对象,HandlerExecutionChain包含handler对象和一堆的interceptor(拦截器)
  4. 将handler对象作为参数传递给处理适配器(HandlerAdapter,负责具体的request处理)的实例化对象
  5. 处理适配器就会调用handler方法生成ModelAndView对象
  6. 处理适配器会将生成的ModelAndView发送给视图解析器(ViewResolver),并将ModelAndView解析为View对象
  7. 前端控制器根据获取到View,将视图返回给用户

搭建环境

一、需要在pom.xml中导入的依赖:
SpringMVC——环境搭建及运行分析
SpringMVC——环境搭建及运行分析
SpringMVC——环境搭建及运行分析
SpringMVC——环境搭建及运行分析
二、web.xml的基本配置:

  • 配置前端控制器:
    SpringMVC——环境搭建及运行分析
    其中<load-on-startup>标签表示:容器在启动时就加载这个servlet,他的值必须是一个整数,表示servlet应该被载入的顺序;当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;当值小于0或者没有指定时,则表示容器在该servlet被选定时才会去加载;正数的值越小,该servlet的优先级越高,应用启动时就越先加载

三、springmvc.xml的配置:
SpringMVC——环境搭建及运行分析
对应的流程处理如下:
SpringMVC——环境搭建及运行分析