springmvc总流程
1,用户发送恳求,url为http://localhost:8080/hello
这是用户的开始动作,他发送了一个HTTP恳求,并将其URL指向你的应用程序。URL是一种标识资源的方式 ,它能够告知应用程序用户想拜访哪个页面或履行哪个功用。
2,DispatcherServlet前端控制器接纳而且阻拦恳求,传url给HandlerMapping
DispatcherServlet 是 SpringMVC 中的前端控制器,所有的恳求都会先经过它进行处理。“阻拦”指的是 DispatcherServlet 是首先捕获并处理恳求的才能,在此进程中还会处理前端逻辑。一旦 DispatcherServlet 捕获了恳求,它就会把恳求中包含的 URL 传递给后续的 HandlerMapping 进行处理映射。
3,HandlerMapping为处理映射器,接纳url而且依据url查找Handler
HandlerMapping 调用 URL 映射策略来查找和匹配用户恳求对应的处理器(Handler)目标。也能够了解为,在 MVC 架构中,HandlerMapping 的效果是协助用户恳求找到相应的处理器。
4,HanderExecution为详细的Handler,他的效果便是依据url查找控制器,以上他查找到的控制器为url中的“hello”,解析完结之后就将成果回来给DispathcherServlet
再找到恰当的 Handler 后,HandlerExecution 负责实际地履行业务处理逻辑,即该 Handler 中的办法。假如业务逻辑存在回来成果(比方需求跳转页面或许回来数据等),那么这些成果将被传回给 HandlerAdapter。
5,HandlerAdapter是处理器适配器,其效果便是履行Handler
HandlerAdapter 将 Handler 的回来成果解析成 ModelAndView(模型和视图)。此外,HandlerAdapter 还处理当前控制器上关于Locale和主题的部分,并将其应用到 “模型” 目标中。
6,详细的Handler交给Controller去履行
Controller 便是一个简单的 Java 类,它作为 MVC 架构中的 C(控制器)来处理用户恳求。它接纳数据(HTTP 恳求)并回来呼应成果(HTTP 呼应)。Controller 处理恳求的详细进程大致包括:获取恳求参数、验证恳求参数、调用服务办法以及封装呼应成果等。
7,Controller将履行的成果回来给HandlerAdapter,如ModelAndView
一旦 Controller 处理完恳求并安排好视图出现以及其他回来数据的功用,他们会经过一个 ModelAndView 模型,向 HandlerAdapter 传递恳求处理成果。
8,ViewResolver是视图解析器,DispatcherServlet调用视图解析器去解析HandlerAdapter回来的逻辑视图
视图解析器完结了逻辑视图称号(在Controller中增加的)到实际视图(视图文件)的解析。在履行程序检索成功后,它将对恳求完结呼应,也便是说,会出现所需的成果。
9,视图解析器解析完结之后回来成果(逻辑视图名)给DispatcherServlet
解析成果为:
/WEB-INF/jsp/test.jsp
10,DispatcherServlet依据逻辑视图名调用详细的View
DispatcherServlet用ModelAndView模型接纳JSP页面的输出内容,并运用视图解析器(ViewResolver),定位特定于应用程序的URI并控制回来呼应。接下来,这个终究成果将被展现给客户端浏览器。
11,将终究视图出现给用户
期望以上介绍能让大家对 Spring MVC 的工作流程有更深入的了解和认识。Spring MVC 是一个功用强壮且易于运用的 Web 框架,能够完结灵敏、可扩展、高效的 Web 应用程序开发,然后协助开发人员在开发进程中进步生产力和代码质量。同时,咱们也应该留意遵循 Spring MVC 规划原则,充分利用其供给的强壮功用和优化功能的才能,以创建更好的应用程序。