现在程序员面试,好多面试官都喜欢问这个问题,所以大家要理解工作流程,就算不理解,背下来也可以!
SpringMVC的工作流程
1 :客户端发出一个http请求给服务器,web服务器对http请求解析, 如果匹配到DispatcherServlet的请求映射路径(在web.xml文件中指定) web容器将请求转交给DispatcherServlft
2 :DispatcherServlet接收到这个请求之后,根据请求的信息(包括url,http,请求报文头,和请求参数Cookie等),以及HandlerMapping的配置匹配到处理请求的处理器(handler)
3:DispatcherServlet根据HandlerMapping找到对应的Handler,并将处理权交给Handler,在有具体的HandlerAdapter对handler进行具体的调用.
4Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet.
5Handler返回的视图是一个逻辑视图并不是真正的视图,DispatcherServlft通过ViewResolver将逻辑视图转换为真正的视图View
6 Dispatcher通过model对ModelAndView()参数进行解析,最终展出完整的view并返回给客户端