SpringMVC——环境搭建及运行分析
SpringMVC的概念
服务器分为三个框架:
其中SpringMVC属于表现层的框架
什么是SpringMVC
springmvc属于springframework的产品,Spring框架提供了构建Web应用程序的全功能MVC模块,使用Spring可插入的MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架
SpringMVC的三层框架
- Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为)
- View(视图):负责进行模型的展示,一般就是我们见到的用户界面
- Controller(控制器):接受用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示
SpringMVC运行原理
- 首先用户发出请求,该请求传到前端控制器(DispatcherServlet)
- 前端控制器向处理映射器(HandlerMapping)发出handler(handler就是对Controller的Bean本身和请求Method的包装)
- 处理映射器会把请求映射为HandlerExecutionChain类型的handler对象,HandlerExecutionChain包含handler对象和一堆的interceptor(拦截器)
- 将handler对象作为参数传递给处理适配器(HandlerAdapter,负责具体的request处理)的实例化对象
- 处理适配器就会调用handler方法生成ModelAndView对象
- 处理适配器会将生成的ModelAndView发送给视图解析器(ViewResolver),并将ModelAndView解析为View对象
- 前端控制器根据获取到View,将视图返回给用户
搭建环境
一、需要在pom.xml中导入的依赖:
二、web.xml的基本配置:
- 配置前端控制器:
其中<load-on-startup>标签表示:容器在启动时就加载这个servlet,他的值必须是一个整数,表示servlet应该被载入的顺序;当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;当值小于0或者没有指定时,则表示容器在该servlet被选定时才会去加载;正数的值越小,该servlet的优先级越高,应用启动时就越先加载
三、springmvc.xml的配置:
对应的流程处理如下: