springMVC
执行流程
- 用户发送请求到前端控制器DispatcherServlet
- DispatcherServlet收到请求调用HandlerMapper处理映射器
- 处理映射器找到具体的处理器
- DispatcherServlet调用HandlerAdapter处理器适配器
- HandlerAdapter调用具体的处理器controller
- controller执行完成返回ModelAndView
- HanderAdapter将controller执行结果ModelAndView返回给DispatcherServlet
- DispatcherServlet将ModelAndView传给ViewReslover视图解析器
- ViewReslover解析后返回具体view
- DispatcherServlet根据view渲染视图
- Dispatcher响应用户
核心组件
-
DispatcherServlet:前端控制器,接收前台的请求,并响应结果到前台页面,中间做请求转发,相当于中央处理器
-
HandlerMapping:处理器映射器,在springMVC中会有很多请求,每个请求都需要一个Handler处理器,具体一个请求用哪一个处理器,这就是HandlerMapping需要做的事
-
HandlerAdapter:处理器适配器,因为controller可以是任意形式,但servlet处理方法的结构是固定的,都是以request和response为参数的方法,如何让固定的servlet方法调用灵活的controller方法这就是HandlerAdapter要做的事
-
controller:处理器,程序员开发
-
ViewReslover:视图解析器,进行视图解析,根据逻辑视图名解析成真正的视图
-
View:视图,是一个接口,它的实现类支持不同的视图类型
@RequestMapping
属性
属性名 | 作用 |
---|---|
name | 映射的名称 |
value | 请求地址(和path互为别名) |
path | 请求地址(和value互为别名) |
method | 指定请求的方式 |
params | 指定request中必须包含某些值,才能进行处理 |
headers | 指定request中必须包含指定header值,才能进行处理 |
consumes | 指定处理请求的提交内容类型 |
producces | 指定返回的内容类型 |