一、核心组件
1.DispatchServlet:Servlet分发器,整个SpringMVC框架入口
2.HandlerMapping:寻找URL所请求的HandlerMethod,找@RequestMapping()
2.1 使用实现类DefaultAnnotationHandlerMaping实际工作
3.HandlerAdapter:实际调用HandlerMathod的组件
3.1 使用实现类AnnotationMathodHandlerAdapter
4.ViewResovler:视图解析器,作用解析HandlerMathod返回值,把逻辑视图转换为需要调用的物理视图
4.1 自定义时使用InternalResourceViewResolver
二、当配置了<mvc:annotation-driven/>时,实际上创建了上面实现类的<bean>对象
三、还可能使用的组件或接口或类
1.Controller : 控制器类
2.HandlerMethod: 控制器方法
3.View: 视图
4.Model: 模型
5.ModelAndView:模型和视图.SpringMVC所有HandlerMethod最终都会转换为ModelAndView
6.HandlerInterceptor: 拦截器
7. HandlerExceptionResolver:异常映射解析器.
8.MultipartResolver: Multipart解析器
9.CharacterEncodingFilter: 字符编码过滤器
四、时序图
五、文字解释
当用户发起请求后,执行DiapacherServlet,如果是JSP直接调用jsp页面.如果不是JSP,DiapacherServlet调用HandlerMapping判断请求URL是否合法,如果URL不存在报错,如果URL存在使用HandlerAdapter调用具体的HandlerMethod,当Handler执行完成后会返回ModelAndView,会被ViewResovler解析,调用具体的物理视图.最终响应给客户端浏览器.