ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

简单理解SpringMVC

2022-07-17 15:36:11  阅读:154  来源: 互联网

标签:请求 SpringMVC 视图 Controller 理解 简单 DispatcherServlet servlet


什么是MVC?

先说说MVC三层架构,这个部分所做的工作其实就是连接:

  • 用户从前端页面(View)发送请求,

  • Controller接收请求后,根据用户的需求从数据库(Model)获取数据,Controller获取到数据后

  • 指定具体的页面(View)显示数据,也就是根据用户的请求跳转页面

从JavaWeb到SpringMVC

先回顾一下JavaWeb的创建:通过继承HttpServlet重写doGet和doPost方法来编写Servlet,然后在web.xml中注册servlet,不同的功能对应着不同的servlet

以http://localhost:8080/hello为例

  1. 在SpringMVC,所有的servlet请求都要经过DispatcherServlet
  2. /hello经过DispatcherServlet交给HandlerMapping去查找/hello对应的处理类(在javaweb中叫servlet,在springmvc中叫Controller)
  3. 查找到了之后交由适配器处理,以Controller的具体格式去匹配这个指定的类
  4. 然后执行Controller,从数据库获取数据,返回数据和指定页面
  5. 在向视图解析器(ViewResolver)传的过程中,传递的信息中包括了获取的数据、目标页面名
  6. 经过视图解析器的解析拼接成跳转的页面,经过转发或重定向进行跳转

注:

  1. 在使用了DispatcherServlet之后,只有DispatcherServlet需要在web.xml中绑定,其他的请求以其他方式绑定
  2. 在使用非注解方式实现时,需要在spring中进行绑定;而使用注解,则直接使用注解绑定
  3. 可以参考另一篇文章,快速搭建SpringMVC项目,通过实践加深理解

参考理解

​ 1.DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发送请求,DispatcherServlet接收拦截请求。

​ 2.DispatcherServlet在收到url请求后交由HandlerMapping进行映射,HandlerMapping根据url请求查找Handler(可理解为注册的servlet)。

​ 3.HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器,将解析后的信息返回给DispatcherServlet(如:解析控制器映射)。

​ 4.HandlerAdapter表示处理器适配器,其按照特定的规则去执行Handler。

​ 5.Handler让具体的Controller去执行,将具体的执行信息(调用业务得到的结果)返回给HandlerAdapter(如ModelView)再传至DispatcherServlet。

​ 6.DispatcherServlet调用视图解析器(ViewResolver)来解析传来的视图名(hello->/jsp/hello.jsp)并将解析的视图名返回给DispatcherServlet,DispatcherServlet再调用具体的视图呈现ModelView中的数据

标签:请求,SpringMVC,视图,Controller,理解,简单,DispatcherServlet,servlet
来源: https://www.cnblogs.com/Gw-CodingWorld/p/16487276.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有