//以上个随笔(springMVC项目配置文件)为基础,详述springMVC请求的整个过程流向
web.xml dispatcher-Servlet.xml
用户请求 --> 经DispatcherServlet拦截并分发到对应的控制器 ---> 由配置,/hello会进入HelloController控制器类
/hello HelloController I
V
跳转到指定页面index.jsp并传递数据message --> 在index.jsp中展示数据
2 处理器映射
^
I
请求 --> 1 DispatcherServlet -- -- -- -- -- ---------- -- -- > 3 控制器
I I <------ 4 模型及逻辑视图名 --
I I
I V
I 5 视图解析器
I
V
< ---7 响应 ----- 6 视图
以上的步骤详解:
1、DispatcherServlet拦截请求,发送给springMVC控制器
2、处理器映射器会根据请求所携带的url信息来进行决策,到底该将对应地址交给哪个控制器来处理
3、控制器接受请求并处理
4、控制器处理完请求后产生用户需要的数据(模型model)并用视图view展示
控制器将模型数据打包并表示出用于渲染输出的视图名(逻辑视图名),并发送回DispatcherServlet
5、控制器不与特定的视图耦合,传给DispatcherServlet的视图名并不直接表示某个jsp
DispatcherServlet用视图解析器viewResolver来将逻辑视图名对应一个特定的视图实现(如index.jsp)
6、视图用模型数据渲染出结果,通过响应对象传递给客户端。