SpringMVC流程
第一步:发起请求到前端控制器(DispatcherServlet)
第二步:前端控制器请求HandlerMapping查找Handler
可以根据xml配置、注解进行查找
第三步:处理器映射器HandlerMapping向前端控制器返回Handler
第四步:前端控制器调用处理器适配器去执行Handler
第五步:处理器适配器去执行Handler
第六步:Handler执行完成给适配器返回ModelAndView
第七步:处理器适配器向前端控制器返回ModelAndView
ModelAndView是SpringMVC框架的一个底层对象,包括Model和View
第八步:前端控制器请求视图解析器去进行视图解析
根据逻辑视图名解析成真正的视图(jsp)
第九步:视图解析器向前端控制器返回View
第十步:前端控制器进行视图解析渲染
视图渲染将模型数据(在ModelAndView对象中)填充到request域
第十一步:前端控制器向用户响应结果
Spring MVC理解
Spring MVC是一种基于Java,使用MVC架构模式的思想,将Web层进行职责解耦,简化我们日常Web开发。Spring MVC核心类是DispatcherServlet,它是一个Servlet,顶层实现Servlet接口。
核心类
1. DispatcherServlet(前端控制器)
说明:Spring MVC的入口函数,接受请求,响应结果,相当于转发器,中央处理器
2. HandlerMapping(处理器映射器)
说明:根据请求的url查找Handler(即处理器Controller),映射方式有配置文件方式,实现接口方式,注解方式等。
3. HandlerAdapter(处理器适配器)
说明:HandlerAdapter是适配器模式的应用,按照HandlerAdapter要求的规则去执行Handler。
4. Handler(处理器)
说明:Handler需要开发工程师按照HandlerAdapter的要求去做,是后端控制器,处理具体的业务逻辑。
5. View resolver(视图解析器)
说明:进行视图解析,首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。
6. 视图View
说明:View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf等)