一、简介
SpringMVC是Spring框架的一个子模块,类似于AOP,IOC等模块。也是通常所说的那层薄薄的Web层,也就是MVC架构中的C(Controller),负责接收分发用户请求。
二、原理
详细解释这幅图。
1、用户发起请求,一般是HTTP请求,带有URL和参数。
2、DispatcherServlet的匹配的URL与请求的URL相匹配,DispatcherServlet接收请求。
3、把URL提交给处理器映射器(HandlerMapping),处理器映射器返回一个处理器执行链,执行链前面是一些拦截器(HandlerInterceptor),最后才是程序员编写的Handler,即XXXController。
4、调用处理器适配器去执行Handler。
5、HandlerAdapter执行Handler的处理方法。
6、Handler处理完请求后,返回ModelAndView。
7、HandlerAdapter返回ModelAndView给DispatcherServlet。
8、DispatcherServlet提取出视图名,交给视图解析器,视图解析器解析出JSP全路径名,如/WEB-INF/XXX.jsp。
9、返回视图名交给DispatcherServlet。
10、这时候DispatcherServlet携带Model中的参数请求转发(forward)给一个JSP文件,因为JSP在编译后生成的是Servlet,因此要forward过去,然后Servlet根据Model中的数据,对页面进行渲染,即生成HTML格式的response。
11、将response返回给DispatcherServlet。
12、响应请求给用户