一条请求进来,先是到web.xml里面的DispatcherServlet(前端控制器)接收,然后交给HandlerMapping处理器映射器,根据请求路径的url,找到对应的HandlerAdapter处理器适配器(处理器适配器就是那些拦截器或者controller),处理完一些功能请求后,返回一个ModelAndView对象(包括模型数据或者逻辑视图名)给DispatcherServlet ,viewResolver视图解析器,先根据ModelAndView中设置的view解析具体的视图,然后再把具体的Model中的数据渲染到view上. 这些过程都是以DispatcherServlet为中轴线进行的.
<!--配置Spring MVC框架入口--> <servlet> <servlet-name>demo-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 用来定义参数,可有多个init-param。在servlet类中通过getInitParamenter(String name)方法访问初始化参数 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-*.xml</param-value> </init-param> <!-- 指定当Web应用启动时,装载Servlet的次序。 当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet. 当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它 --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>demo-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>