一.SpringMVC的各大组件
前端控制器(DispatcherServlet):主要负责捕获来自客户端的请求和调度各个组件。
处理器映射器(HandlerMapping):根据url查找后端控制器Handler。
处理器适配器(HandlerAdapter):执行后端控制器(Handler),拿到后端控制器返回的结果ModelAndView后将结果返回给前端控制器DispatcherServlet。
后端控制器(处理器)(Handler):主要负责处理前端请求,完成业务逻辑,生成ModelAndView对象返回给HandlerAdapter。
视图解析器(ViewResolver):主要负责将从DispatcherServlet中拿到的ModelAndView对象进行解析,生成View对象返回给DispatcherServlet。
二.SpringMVC的工作流程
![](https://img-blog.csdnimg.cn/img_convert/d2cedb77078803880043939d63bcd74f.png)
前端控制器(HandlerMapping)从前端收到请求 到处理器映射器(HandlerMapping)里面根据需要资源的路径将步骤连找到 返回到前端控制器 经由前端控制器发送到处理器适配器(HandlAdapter) (吧不同的输入转化成相同的输出) 把最终执行的东西统一封装成一个结果 发到处理器 将处理的结果封装到ModelAndView中返回到前端控制器中 将ModelAndView发送到视图解析器(View Resolver)中 根据数据和视图找到相应的视图 渲染后返回到前端控制器 再响应返回到前端页面中
三.SpringMVC的注解
@Controller
类注解,在SpringMVC控制器类定义的上方. 用来设定SpringMVC的核心控制器bean
@RequestMapping
方法注解 在SpringMVC控制器方法定义的上方 用来设置当前控制器方法请求访问路径
@ResponseBody
方法注解 在SpringMVC控制器方法定义上方 用来设置当前控制器方法响应内容为当前返回值,无需解析