mvc操作流程?
SpringMVC工作流描述:
1.用户向服务器发送请求,请求被Spring前端控件ServeltDispatcherServlet捕获;
2.DispatcherServlet解析请求URL以获取请求资源标识符(URI)。然后根据URI调用HandlerMapping获取处理程序配置的所有相关对象(包括处理程序对象和处理程序对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;
3.DispatcherServlet选择合适的HandlerAdapter根据获取的Handler生成相应的文件;
4.提取请求中的模型数据,填充处理程序的参数,开始执行处理程序(控制器)。
在填充Handler的参数的过程中,根据你的配置,Spring会帮你做一些额外的工作:
HttpMessageConvet:将请求消息(如Json、xml等数据)转换成对象,并将对象转换成指定的响应信息。
数据转换:对请求消息执行数据转换。比如串成整数,双精度等。
数据根:请求消息的数据格式。例如将字符串转换成格式化的数字或格式化的日期。
数据验证:验证数据的有效性(长度、格式等。),验证结果存储在BindingResult或Error中。
5.处理程序执行后,向DispatcherServlet返回一个ModelAndView对象;
6.根据返回的ModelAndView,选择合适的ViewResolver(必须在Spring容器中注册)并返回给Dispatch
spring的工作流程?
春季工作的过程
流程如下:
1.用户向前端控制器(DispatcherServlet)发起一个请求,它将过滤出哪些请求可以访问Servlet,哪些不能。是url-pattern的角色,并将加载配置文件。
2.前端控制器会找到HandlerMapping,通过HandlerMapping完成url到con。trollermapping的组件,简单来说就是找到并存储springmvc.xml中配置或注释的url以及对应的处理类,并以maplturl,handlergt的形式存储。
3.HandlerMapping有映射关系,找到url对应的处理器。HandlerMapping会返回它的handler,在返回之前会添加很多拦截器。
4.DispatcherServlet获取处理程序后,会找到HandlerAdapter,用于访问处理器和执行处理器。
5.执行处理器
6.处理器将返回一个ModelAndView对象给HandlerAdapter。
7.通过HandlerAdapter将ModelAndView对象返回给前端控制器(DispatcherServlet)。
8.前端控制器请求ViewResolver解析视图,并根据逻辑视图名称将其解析为真实视图(jsp)。其实就是搜索ModelAndView对象中存储的视图名称,找到对应的页面,形成视图对象。
9.将视图对象返回到前端控制器。
10、视图渲染,就是把ModelAndView对象中的数据放到请求域中,用来让页面加载数据。
11.通过第8步,根据名称找到相应的页面。通过步骤10,请求字段中所需的数据是可用的,因此可以呈现视图。最后,退货。