前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringMVC:认识MVC了解URL映射到页面文件全过程

SpringMVC:认识MVC了解URL映射到页面文件全过程

作者头像
冷环渊
发布2021-11-17 10:12:53
5500
发布2021-11-17 10:12:53
举报

SpringMVC

前言:MVC模式

什么是MVC??? 首先什么是mvc?其实在javaweb的时候我们就了解过有关mvc这种开发模式 mvc是一种软件设计规范,是一种架构模式 它是业务逻辑,数据,显示分离的方法

m = model(模型)

  • 我个人对模型的理解,基于javaweb的dao层,service层,以及servlet的架构模式转变的,
  • 我认为模型就是将dao层,service层合并在了一起,他负责数据行为,数据(dao),行为(service)
  • 把状态判断和数据返回形成一个模型,最终将处理好的数据交给控制器(controller来分发)

v = view (视图)

  • 视图,见名知意,他就是负责将控制器分发来的数据展示给用户(客户端)

c = controller(控制器)

  • 控制器,负责接受客户端发来的请求,将接受到需要处理的数据发给模型来处理;模型处理完毕后,将返回的数据,分发给视图,由视图展示,他主要负责任务分发和承接的工作

常见问题回答

Q:为什么要用MVC???

A:没有好的架构模式,代码会出现高耦合的情况,这是我们开发人员不想看到的,使用mvc可以是提高代码复用,并且清晰的结构也降低了排错和维护的困难性

Q:mvc这种架构模式需要做什么事情?

A:

  1. 将url映射到java类或java类的方法
  2. 与数据库交互 – 封装用户提交的数据-
  3. 处理请求—调用相关的业务处理—封装响应数据-提交控制进行分发
  4. 将响应的数据进行渲染 在 jsp / html 等表示层数据

以上便是个人对mvc的理解和结合狂神视频中将的内容得出的思路

回顾完MVC,就要来看看这篇博客的主角了

SpringMVC

在学习Spring的视频里狂神讲过,Spring把你能想到的基本都便捷化了,那对于mvc呢,Spring也有相对的框架

SpringMVC是???

Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。

为什么要学习SpringMvc?

Spring MVC的特点:

  1. 轻量级,简单易学
  2. 高效 , 基于请求响应的MVC框架
  3. 与Spring兼容性好,无缝结合
  4. 约定优于配置
  5. 功能强大:RESTful、数据验证、格式化、本地化、主题等
  6. 简洁灵活

中心控制器

SpringMVC框架围绕中心控制器设计:DispatcherServlet 这就是上面mvc提到的负责分发工作的好兄弟,他负责将收到的请求分发到不同的处理器上 DispatcherServlet这个好兄弟呢,本质也是一个Servlet,为什么是也呢 -->_–> JSP 他以请求为驱动,围绕中心的Servlet来提供分派请求和其他功能(DispatcherServlet他继承自HttpServlet的基类)

接下来简单的解析一下SpringMVC的执行原理

很多人第一次看执行原理呢会很蒙,冷某人建议,针对性会看javaweb中Servlet和MVC相关的视频 接下来我们根据一张图来解析他的执行原理

我们假设请求的url为 : http://localhost:8080/SpringMVC/hello 第一区域:根据请求url找到handler,handler找到控制器:hello 第二区域:负责执行handler,找到对应控制器,控制器执行控制器中的代码并且将执行信息返回给handler(例如:modelview)(实现controller接口的hello类中实现方法返回一个对象,可以携带参数) 第三区域:负责调用视图解析器解析第二区域handleradapter返回的视图逻辑名,解析之后交给中央控制器,最终由视图展示

执行分为如下几个步骤:

  1. 一二区域负责找到解析名,hello并且返回对象,
  2. 第三区域视频解析器有设置前缀,后缀,前缀这是需要展示内容jsp的路径,后缀可以理解为文件后缀名 例如:.jsp
  3. 最后在视图解析中拼接处要展示的对应jsp比如返回的对象为test,
  4. 前缀为:/WEB-INF/jsp/
  5. 后缀为:.jsp
  6. 执行之后会将数据送到路径为:/WEB-INF/jsp/test.jsp这个页面,由视图展示。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-11-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SpringMVC
    • 前言:MVC模式
      • m = model(模型)
      • v = view (视图)
      • c = controller(控制器)
    • 常见问题回答
      • Q:为什么要用MVC???
      • Q:mvc这种架构模式需要做什么事情?
    • 回顾完MVC,就要来看看这篇博客的主角了
      • SpringMVC
      • SpringMVC是???
      • 为什么要学习SpringMvc?
      • 中心控制器
      • 接下来简单的解析一下SpringMVC的执行原理
      • 执行分为如下几个步骤:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档