一、初识 Spring MVC

这篇具有很好参考价值的文章主要介绍了一、初识 Spring MVC。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。



一、回顾 MVC 模式


MVC 是模型(Model),视图(View),控制器(Controller)的简写,是一种软件设计的代码规范,将业务逻辑、数据以及显示完全分离开来。MVC 并不是一种设计模式,MVC 是一种结构模式。 并且不同的 MVC 之间也是存在着差异的。

  • Model(模型):

    数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。

  • View(视图):

    负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。

  • Controller(控制器):

    接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。也就是说控制器做了个调度员的工作。

  • 职责分析:

    • Controller:控制器

      • 取得表单数据

      • 调用业务逻辑

      • 转向指定的页面

    • Model:模型

      • 业务逻辑

      • 保存数据的状态

    • View:视图

      • 显示页面

  • MVC 模式的主要作用: 降低视图与业务逻辑之间的双向耦合

最典型的 MVC 就是 JSP + servlet + javabean 的模式。

一、初识 Spring MVC,spring,mvc,java



文章来源地址https://www.toymoban.com/news/detail-636868.html


二、初识 Spring MVC


       Spring MVC官方文档


  • 什么是 Spring MVC

    •        Spring MVC就是一个 Spring 内置的 MVC 框架,是基于Java实现MVC的轻量级Web框架。

             MVC框架,它解决WEB开发中常见的问题(参数接收、文件上传、表单验证、国际化等等),而且使用简单,与Spring无缝集成。支持 RESTful风格的URL请求。

             采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性。

  • MVC框架要做哪些事情

    1、将url映射到java类或java类的方法 .

    2、封装用户提交的数据 .

    3、处理请求–调用相关的业务处理–封装响应数据 .

    4、将响应的数据进行渲染 . jsp / html 等表示层数据 .

  • 常见的服务器端MVC框架有:

    • Struts、Spring MVC、ASP.NET MVC、Zend Framework、JSF;常见前端MVC框架:vue、angularjs、react、backbone;由MVC演化出了另外一些模式如:MVP、MVVM 等等…

  • Spring MVC 的作用

    • MVC模式(Model-View-Controller):解决页面代码和后台代码的分离。

  • Spring MVC 的底层

    •        在没有使用 Spring MVC 之前我们都是使用 Servlet 在做 Web 开发。但是使用 Servlet 开发在接收请求参数,数据共享,页面跳转等操作相对比较复杂。Servlet 是 java 进行 web 开发的标准,既然 Spring MVC 是对 Servlet 的封装,那么很显然 Spring MVC 底层就是Servlet,Spring MVC 就是对 Servlet 进行深层次的封装




2.1 Spring MVC 核心组件


       Spring MVC 有着多个组件,这些核心组件共同协作,使得Spring MVC能够处理请求、调度处理器、渲染视图,并提供灵活的拦截器和数据绑定机制。通过使用这些组件,我们可以方便地构建和管理Web应用程序的请求处理流程。


2.1.1 前端控制器(DispatcherServlet)


  •        前端控制器是Spring MVC框架的核心,它充当了所有请求的中央处理器。在Spring MVC中,DispatcherServlet 充当了前端控制器的角色。

            前端控制器负责接收用户的提交的所有请求,如传统的jsp文件,调用其他的控制器 Controller 对象,并把请求处理的结果显示给用户。并且可以接收所有的 HTTP 请求,并将请求分发给合适的处理器进行处理。

    • DispatcherServlet :该类本身就是一个 Servlet,因为其继承了 Servlet

      一、初识 Spring MVC,spring,mvc,java



2.1.2 处理器映射器(HandlerMapping)

  • 执行后端控制器(Handler),拿到后端控制器返回的结果 ModelAndView 后将结果返回给前端控制器 DispatcherServlet。

2.1.3 处理器适配器(HandlerAdapter)

  • 处理器适配器,执行后端控制器(Handler),拿到后端控制器返回的结果ModelAndView后将结果返回给前端控制器 DispatcherServlet。

2.1.3 后端控制器(处理器:Handler)

  • 后端控制器:主要负责处理前端请求,完成业务逻辑,生成ModelAndView对象返回给 HandlerAdapter。

2.1.4 视图解析器(ViewResolver)

  • 视图解析器:主要负责将从DispatcherServlet中拿到的ModelAndView对象进行解析,生成View对象返回给DispatcherServlet。




到了这里,关于一、初识 Spring MVC的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaEE进阶】 初识Spring Web MVC

    Spring Web MVC 是 基于 Servlet API 构建的原始 Web 框架 ,从⼀开始就包含在Spring框架中。它的正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为)Spring MVC). Servlet是⼀种实现动态⻚⾯的技术.准确来讲Servlet是⼀套Java Web 开发的规范,或者说是⼀套Java Web 开发的

    2024年02月03日
    浏览(44)
  • (第十一天)初识SpringMVC SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录

    今天我们要来学习一下SSM框架的最后一个框架SpringMVC 一、初认SpringMVC 基本概念: ​ Spring MVC(Model-View-Controller)是一个用于构建Java Web应用程序的开源框架,它提供了一种基于MVC架构的方式来开发Web应用 。 ​ SpringMVC是Spring Framework的一部分,它是一种基于模型-视图-控制器(

    2024年02月07日
    浏览(67)
  • Java配置方式使用Spring MVC

    上一节,我们学习了如何基于XML配置与注解的方式使用Spring MVC,涉及到三个XML配置文件:Spring配置文件(spring-config.xml)、Spring MVC配置文件(spring-mvc-config.xml)、Web部署描述文件(web.xml),这一节,我们通过案例学习如何基于Java配置类与注解的方式使用Spring MVC,只有Java配

    2024年02月05日
    浏览(43)
  • 【Java】Spring MVC程序开发

    Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring框架中。它的正式名称是“Spring Web MVC”来自其原模块的名称,但是它通常被称为“Spring MVC” 从上述定义我们可以看到两个信息: Spring MVC 是一个Web框架 Spring MVC 是基于Servlet API构建的 然而要真正的搞懂S

    2024年01月16日
    浏览(53)
  • 【Java EE】关于Spring MVC 响应

    在博主前面写的博客 【Java EE】Spring请求如何传递参数详解 中我们已经设置了响应数据,Http响应结果可以是数据,也可以是静态⻚⾯,也可以针对响应设置状态码, Header信息等 首先我们像创建一个静态界面,创建位置如下: 前端代码如下: 不过这里的后端的代码和以前的代码

    2024年04月14日
    浏览(46)
  • java spring MVC之RESTful快速开发

    我这里有个一springboot项目 我在启动类同目录下创建了一个目录 目录名叫 controller 里面有一个UserController diam结构是这样的 这是一个基础的REST风格风格开发 但其实 我们可以很大程度的简化 这里 我先启动项目 然后用Postman测试 这些都是可以正常访问 和 调用返回的 确认无误之

    2024年02月05日
    浏览(41)
  • 【Java 中级】一文精通 Spring MVC - 上传(十)

    👉 博主介绍 : 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区:个人社区 💞 个人主页:个人主页 🙉 专栏地址: ✅ Java 高阶 🙉八股文专题:剑指大厂,手撕

    2024年02月11日
    浏览(45)
  • Java配置方式使用Spring MVC:实战练习

    承接上文《Java配置方式使用Spring MVC》 登录页面 - login.jsp 注:这个页面没有JSP代码,其实可以做成静态页面 - login.html 登录成功页面 - success.jsp(必须是动态页面,因为要获取会话对象中的数据) 如果不用JSP的标签库,要获取会话中的数据,要复杂一点 登录失败页面 - failu

    2024年02月05日
    浏览(55)
  • 【Java 高阶】一文精通 Spring MVC - 基础概念(一)

    👉 博主介绍 : 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区:个人社区 💞 个人主页:个人主页 🙉 专栏地址: ✅ Java 高阶 🙉八股文专题:剑指大厂,手撕

    2024年02月11日
    浏览(43)
  • 【Java 高阶】一文精通 Spring MVC - 转发重定向(四)

    👉 博主介绍 : 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区:个人社区 💞 个人主页:个人主页 🙉 专栏地址: ✅ Java 高阶 🙉八股文专题:剑指大厂,手撕

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包