1.简述 Spring MVC 的 请求处理流程以及整体框架结构
Spring MVC 请求处理流程步骤:
1.首先用户发送请求到前端控制器(DispatcherServlet),前端控制器根据
请求信息(比如:URL)来决定选择哪个页面控制器(Controller)来进l行处理,并把请求委托给它,
即:Servlet 控制器的控制逻辑部分。
2.页面控制器接收到请求后,进行业务处理,处理完毕后返回一个 ModelAndView (模型数据和逻辑视图名)
3.前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的真正视图,并把模型数据ch传入以便
视图渲染展示
4.前端控制器再次收回控制权,将结果响应返回给用户,至此整个流程结束

框架结构:
1.客户端发出 HTTP 请求,Web 应用服务器接收此请求,若匹配 DispatcherServlet 的请求映射路径
(Web.xml 中指定),Web 容器将该请求转交给 DispatcherServlet 处理。
2.DispatcherServlet 接收到该请求后,将根据请求的信息(包括:URL 、请求参数、HTTP方法等)
及 HandlerMapping 的配置(在
3.当 DispatcherServlet 根据 HandlerMapping 找到对应当前请求的 Handler 之后,通过 HandlerAdapter
对 Handler 进行封装,再以统一的适配器接口调用 Handler.
4.在请求信息到达真正调用 Handler 的处理方法之前的这段时间内,Spring MVC 还完成了很多工作,它
将会将请求信息以一定的方式转换并绑定到请求方法的入参中,对于入参的对象会进行数据转换、数据格式
以及数据数据效验等。这些都做完之后,最后才真正的调用 Handler 的处理方法进行xiang'y相应的业务逻辑处理。
5.处理器完成业务逻辑处理之后将返回一个 ModelAndView 对象给 DispatcherServlet ,ModelAndView 对象
包含了逻辑视图名和模型数据信息。
6. ModelAndView 对象中包含的是 “逻辑视图名”,而非真正的视图对象,DispatcherServlet 会通过
ViewResolver 将逻辑视图名解析为正在的视图对象 View。当然对于数据展示的视图可以为:JSP、
xml、PDF、JSON 等多种数据格式,对此 Spring MVC 均可灵活配置。
7.当得到真正的视图对象 View 后,DispatcherServlet 会使用 ModelAndView 对象中的模型数据
对 View 进行视图渲染。
8.最终客户端获得响应消息,根据配置,可以是普通的 HTML 页面,也可以是一个 XML 或者
JSON 格式的数据等等。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
