众所周知, DispatcherServlet是springMVC框架的核心, 客户端来的请求都会先去找它. 实际上它的工作只是调度. springMVC中的分工是十分明确的, DispatcherServlet居中调度, 有条不紊的进行一切处理工作.
- HandlerMapping: 处理器映射器, 前端控制器找到它目的是为了知道处理器执行链, 说人话就是一个请求将在web应用中去哪里, 找哪些资源处理它.
- HandlerAdaptor :处理器适配器, 前端控制器找它的目的是为了得到ModelAndView, 也就说具体的后端控制器是由它来调用的.
- ViewResolver: 视图解析器. 最后再找这个, 是为了返回视图对象.
- 最后前端控制器在渲染视图, 并响应
注解详解
RequestMapping
(1) 作用: 用于建立URL和处理请求方法之间的联系
(2) 位置:
- 类上, 请求URL的第一级访问目录, 此处不写的话, 就相当于应用的根目录
- 方法上: URL的二级目录
小结: 注意, 如果是有类上的位置, 就说明方法上是二级目录, return时就会报404的错误.
原因就是, return的资源根本就不在一级目录下.
解决方法: 在return的资源前面加上"/". 后退一步到webapp下
(3) 属性:
- value: 用于指定请求的url, 相当于path
- method: 用于指定请求的方式
- params: 用于指定限制请求参数的条件, 他支持简单的表达式, 要求请求参数的key和value必须和配置的一模一样.