SpringMVC
tomcat启动流程
- 初始化默认的JspServlet和DefaultServlet
- 初始化我们配置的前端控制器DispatcherServlet
- 因为我们在DispatcherServlet中配置了mvc.xml,因此也会启动Spring容器。SPring容器会帮我们创建相应的bean并管理
- 创建的对象包括Controller层,Service层,Mapper层,Datasource对象,SqlSession对象等
什么是前端控制器
前端控制器本质是一个servlet,是SPringMVC提供的所有请求的的统一入口,因为不同请求可能有共同的操作,这时候就需要前端控制器做统一的处理,比如日志记录,权限检查等,然后再将请求分发给各个处理器去处理
SpringMVC流程分析
- DispatcherServlet是核心,负责调度其他组件
- 请求进来,前控首先调用处理器映射器(HandleMpper)查找该请求url对应的处理器,返回一个处理器链(包含多个拦截器和最后的那个处理器)
- 然后前控通过处理器适配器(HandleAdapter),执行对应处理器中的相应方法,返回ModelAndView对象
- 然后前端控制器通过视图解析器(ViewResolver)进行视图解析,就是把逻辑视图(字符串)转换为物理视图view,将view返回前控
- 前控通过相应的渲染模板,比如j