mvc是什么意思

圈圈笔记 83

什么是MVC

mvc是什么意思

  • 视图层(View):此层主要是与用户进行交互,显示页面。
    使用:HTML,CSS,JS,JSP 等实现
  • 控制层(Controller):负责接收所有的用户请求参数,判断请求参数是否合法,根据请求的类型调用 JavaBean 执行操作,并将最终的处理结果交由视图层进行显示。相当于控制器做了调度员的工作。
    使用:Servlet实现
  • 模型层(Model):某个功能。完成一个个独立的业务操作组件,一般都是以 JavaBean 的形式进行定义的。
    使用:Java实现

学过的传统Servlet的MVC:

  1. 在 web.xml 配置 url 映射,指明 Servlet 所在的包。
  2. 在前端 jsp 页面提交表单,向后台发送请求;(View)
  3. 在 servlet 层进行处理,包括:获取前端参数,业务逻辑判断且调用相关方法,视图跳转;(Controller)
  4. 使用页面重定向/请求转发的方式将数据传给前端及逆行展示。

第一个SpringMVC:

mvc是什么意思

SpringMVC执行原理讲解:

图为 SpringMV C的一个较完整的流程图,实线表示SpringMVC框架提供的技术,不需要开发者实现,虚线表示需要开发者实现。

我们假设请求的 url 为 : http://localhost:8080/SpringMVC/hello

那么这个 URL 可以拆分成三部分:

  • http://localhost:8080服务器域名
  • SpringMVC部署在服务器上的web站点
  • hello表示控制器

通过分析,如上url表示为:请求位于服务器localhost:8080上的SpringMVC站点的hello控制器。

  1. DispatcherServlet 表示前置控制器,是整个SpringMVC的控制中心。用户发出如上的 url 请求,DispatcherServlet 接收请求并拦截请求。
  2. HandlerMapping 为处理器映射。DispatcherServlet调用 HandlerMapping, HandlerMapping根据请求 url 查找 Handler,并且执行。
  3. HandlerExecution 表示具体的 Handler, 其主要作用是根据 url 查找控制器,如上 url 被查找控制器为:hello。
  4. HandlerExecution 将解析后的信息传递给 DispatcherServlet, 如解析控制器映射等。
  5. HandlerAdapter 表示处理器适配器,其按照特定的规则去执行Handler。
  6. Handler 让具体的 Controller 执行。 (这里就是我们要写的部分,即 Controller 层进行处理)
  7. Controller 将具体的执行信息返回给 HandlerAdapter, 如我们将会用到的 ModelAndView。== 我们选择性的对 Model 进行返回 ==
  8. HandlerAdapter 将视图逻辑名或模型传递给 DispatcherServlet。
  9. DispatcherServlet 调用视图解析器 (ViewResolver) 来解析HandlerAdapter 传递的逻辑视图名。== 也可以说是我们进行 view 的传递 ==
  10. 视图解析器将解析的逻辑视图名传给 DispatcherServlet。
  11. DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图。
  12. 最终视图呈现给用户。

上一篇:

下一篇:

  推荐阅读

分享