原理
springmvc底层原理就是servlet,在指定的filter中配置相应请求地址与服务方法的映射关系,当前端发送请求,在servlet中进行解析获取找到相应的处理方法执行返回结果,也可以理解为springmvc创建了一个总的servlet,之后在总的servlet中进行配置使用指定servlet
工作流程
执行流程
-
发起请求到前端控制器(DispatcherServlet)
-
前端控制器请求HandlerMapping查找 Handler
可以根据xml配置、注解进行查找
-
处理器映射器HandlerMapping向前端控制器返回Handler
-
前端控制器调用处理器适配器去执行Handler
-
处理器适配器去执行Handler
-
Handler执行完成给适配器返回ModelAndView
-
处理器适配器向前端控制器返回ModelAndView
ModelAndView是springmvc框架的一个底层对象,包括Model和view
-
前端控制器请求视图解析器去进行视图解析
根据逻辑视图名解析成真正的视图(jsp)
-
视图解析器向前端控制器返回View
-
前端控制器进行视图渲染
视图渲染将模型数据(在ModelAndView对象中)填充到request域
-
前端控制器向用户响应结果
MVC
M | Model(模板对象) |
V | View(视图) |
C | Controler(控制) |
组件说明
组件 | 说明 |
---|---|
DispatcherServlet:前端控制器 | 用户请求到达前端控制器,相当于mvc中c,是SpringMVC中 核心控制,由它调用其他组件完成用户的请求,降低了组件之间的耦合度 |
HandlerMapping:处理器映射器 | 根据用户url找到对应的handler处理器,(配置文件,实现接口方式,注解方式) |
Handler处理器 | SpringMVC中的后端处理器,在处理器中程序员需要根据业务请求,执行相应的代码。 |
HandlerAdapter:处理器适配器: | 通过处理器适配器执行处理器,运用了适配器模式通过扩展处理器适配器对更多类型处理器进行调用。 |
ViewReslover:视图解析器 | 生成View对象,(将逻辑视图的名称转化为物理地址,再生成View对象。将View对象渲染成网页) |
一大核心,三大组件
入门程序
导入jar包
目录结构
创建xml配置文件
写在 src——> resource 目录下
在工程结构中进行匹配
springmvc.xml
配置Servlet
在web.xml配置文件中配置servlet(即,前端控制器DispatcherServlet)
web.xml
Controller层
SpringMVC中的处理器映射器(HandlerMapping)会自动映射请求地址,找到方法路径,返回至前端控制器(DispatcherServlet),前端控制器会调用处理器适配器(HandlerAdapter)执行处理器(Handler)运行该方法,返回ModelAndView到前端控制器。