SpringMVC请求流程引用网上的一张图,画的很清晰
SpringMVC的整个请求流程都是以DispatcherServlet为中心的:
1.DispatcherServlet作为整个前端请求的控制器,会接收所有请求
2.通过HandlerMapping(映射处理器)将请求与后端的处理逻辑建立对应关系,返回Handler
3.通过HandlerAdapt(处理适配器)来调用具体的处理逻辑(如Controller等),返回ModelAndView
4.通过ViewResolver视图解析ModelAndView,返回View
5.将Model中的数据通过视图渲染到View中,用于前台显示
DispatcherServlet是SpringMVC框架的入口,使用SpringMVC需要在Web.xml中进行DispatcherServlet相关配置
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springConfig/dispatcher-servlet.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
SpringMVC关键的几个请求处理类包括:DispatcherServlet、HandlerMapping、HandlerAdapt、ViewResolver、ModelAndView、View等,后面会逐一分解这些类的作用