在b站听了动力节点的SpringMVC的视频课。把基础的知识点整理下来。
1.SpringMVC的执行流程
(1)浏览器提交请求到中央调度器
(2)中央调度器直接将请求转给处理器映射器。
(3)处理器映射器会根据请求,找到处理该请求的处理器,并将其封装为处理器执行链后 返回给中央调度器。
(4)中央调度器根据处理器执行链中的处理器,找到能够执行该处理器的处理器适配器。
(5)处理器适配器调用执行处理器。
(6)处理器将处理结果及要跳转的视图封装到一个对象 ModelAndView 中,并将其返回给处理器适配器。
(7)处理器适配器直接将结果返回给中央调度器。
(8)中央调度器调用视图解析器,将 ModelAndView 中的视图名称封装为视图对象。
(9)视图解析器将封装了的视图对象返回给中央调度器 。
(10)中央调度器调用视图对象,让其自己进行渲染,即进行数据填充,形成响应对象。
(11)中央调度器响应浏览器。
2.@RequestMapping的作用是什么?
定义处理器对于请求的映射规则。
注解在方法上时,指定了该方法匹配的URL。
注解在类上时,类中所有响应请求的方法具有相同的URL部分。
属性:
(1)Value:定义所匹配请求的URL。
(2)Method:定义方法只能处理用哪种方式提交的请求。常用RequestMethod.GET 与
RequestMethod.POST,分别表示GET与POST提交。
3.处理器方法的参数有哪些?
(1)HttpServletRequest
(2)HttpServletResponse
(3)HttpSession
(4)请求中所携带的请求参数
4.处理器如何接收参数
4.1 接收逐个参数
保持 请求参数名 与 该请求处理方法中的参数名 相同
如果它们不同时,就在处理方法参数前,添加一个注解@RequestParam(“请求参数名”),注解里面的value和请求参数名一致,方法中的参数名就可以不一致了。
4.2 接收对象参数
保持 请求对象名 与 该请求处理对象中的对象参数名 同名
5.处理器方法的返回值类型有哪些?
(1)ModelAndView
(2)String
(3)void
(4)自定义类型
6. 处理器如何返回值?
6.1 返回 ModelAndView
处理器方法中需定义ModelAndView对象。
6.2 返回 Object
使用@ResponseBody