SpringMVC的核心组件
1. SpringMVC的作用
SpringMVC解决了V-C交互的问题,也就是服务器端如何接收请求并给予响应的问题,即:客户端如何将请求发给服务器端的控制器,并控制器能够接收到这些请求及请求的参数等,当控制器处理完这个请求之后,还能够以转发、重定向或其它方式向客户端进行响应。
在传统的Java EE项目中,是使用Servlet作为控制器的,并且每种请求对应1个Servlet,例如用户尝试注册,则服务器端就有一个RegisterServlet,如果用户尝试登录,则服务器端就有一个LoginServlet……所以,一个完整的项目中,用户的请求的种类会非常多,就会导致项目中会需要创建大量的Servlet类,并添加大量的配置(每个Servlet在web.xml至少有8行配置代码),当代码量庞大时,管理难度也会增加,在实际运行时,会创建大量的Servlet对象,对内存的开销也非常大。
2. SpringMVC的核心组件
在SpringMVC框架中的核心组件有:
DispatcherServlet:前端控制器
HandlerMapping:处理请求路径与实际处理请求的控制器的映射关系
Controller:实际处理请求的组件
ModelAndView:处理完请求后,封装了响应结果和负责响应的视图的名称的组件
ViewResolver:根据视图名得到具体负责显示的视图组件
具体的核心执行流程为: