SpringMVC超详细入门

本文详细介绍了Spring MVC的概念,包括MVC架构模式、Spring MVC的优势和实现原理。接着,通过注解的方式展示了如何搭建Spring MVC项目,从创建Maven项目到编写Controller,再到前端页面展示。此外,还讨论了DispatcherServlet的url-pattern设置、@RequestMapping注解的使用细节,以及处理请求的流程。最后,文章总结了Spring MVC学习过程中的重点和注意事项。
摘要由CSDN通过智能技术生成

初识Spring MVC

一、什么是MVC?

MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。就是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。

  • Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。
  • View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。
  • Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。 也就是说控制器做了个调度员的工作。Controller相当于定义了一堆的方法,不同的方法处理不同的客户端请求;最主要的工作就是接收客户浏览器的请求,并把请求向后转发调度。

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

在这里插入图片描述

补充:前端页面展示用JSP,后端处理服务的时候用Servlet,封装的与数据库表相对应的实体类即javabean。现在前后端分离,公司中主要用的架构是——Spring Boot + VUE。

在这里插入图片描述

二、Spring MVC的概念

1、SpringMVC的介绍

在这里插入图片描述

从上面这个Spring的整体架构图,我们可以发现Spring MVC并不是一个单独的框架,而是Spring框架的一部分,是基于Java实现的一个轻量级web框架。

学习SpringMVC框架最核心的就是DispatcherServlet的设计,掌握好DispatcherServlet是掌握SpringMVC的核心关键。

2、SpringMVC的优点

模式清晰,各模块之间解耦,通过各模块间的协同合作来处理前后端的交互。

在这里插入图片描述

3、SpringMVC的实现原理

springmvc的mvc模式:

在这里插入图片描述

SpringMVC的具体执行流程:

当发起请求时被前置的控制器拦截到请求,根据请求参数生成代理请求,找到请求对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,将模型响应给中心控制器,控制器使用模型与视图渲染视图结果,将结果返回给中心控制器,再将结果返回给请求者。

在这里插入图片描述

1、DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,DispatcherServlet接收请求并拦截请求。
2、HandlerMapping为处理器映射。DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler。
3、返回处理器执行链,根据url查找控制器,并且将解析后的信息传递给DispatcherServlet
4、HandlerAdapter表示处理器适配器,其按照特定的规则去执行Handler。
5、执行handler找到具体的处理器
6、Controller将具体的执行信息返回给HandlerAdapter,如ModelAndView。
7、HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet。
8、DispatcherServlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名。
9、视图解析器将解析的逻辑视图名传给DispatcherServlet。
10、DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图,进行试图渲染
11、将响应数据返回给客户端

注意:以上的都是概念层面的东西,暂时不理解没关系,当我们熟练使用Spring MVC之后,有了相关的web开发经验之后再来看上面的理论东西,会有不一样的感受的。

三、Spring MVC的使用——基于注解

上面我们了解了Spring MVC的概念层面的理论知识,下面我们进行实际应用层面的操作。

补充:我们只演示如何通过注解来使用Spring MVC,注解简单快捷。我们不再演示通过XML文件的配置,因为用xml会很繁琐,实际中根本没人使用xml来进行开发。

以下操作基于IDEA开发演示,Eclipse进行开发有很多细节点是不一样的。

1、新建普通的Maven项目
2、添加web模块支持

右击项目名,可以发现一个选项如下:添加所需要支持的模块

在这里插入图片描述

此时在出现的功能区勾选Web Application模块支持即可:

在这里插入图片描述

然后我们就能发现在我们的项目目录结构下出现了一个新的目录

在这里插入图片描述
此时我们就能够在此目录结构下进行web开发了。

3、添加pom依赖

添加Spring框架以及web模块和mvc模块的支持

<dependencies>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.3.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值