首页 > 其他分享 >SpringMVC概述

SpringMVC概述

时间:2023-10-06 23:23:45浏览次数:34  
标签:控制器 架构 请求 SpringMVC 业务 MVC 概述 持久

一、SpringMVC 的基本概念

1.1 关于三层架构和 MVC

1.1.1 三层架构

我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就是浏览器服务器。在 JavaEE 开发中,几乎全都是基于 B/S 架构的开发。那么在 B/S 架构中,系统标准的三层架构包括:表现层、业务层、持久层。三层架构在我们的实际开发中使用的非常多,所以我们课程中的案例也都是基于三层架构设计的。
三层架构中,每一层各司其职,接下来我们就说说每层都负责哪些方面:

1表现层:
也就是我们常说的web层。它负责接收客户端请求,向客户端响应结果,通常客户端使用http协议请求web 层,web 需要接收 http 请求,完成 http 响应。
○表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。
○表现层依赖业务层,接收到客户端请求一般会调用业务层进行业务处理,
○并将处理结果响应给客户端。表现层的设计一般都使用 MVC 模型。(MVC 是表现层的设计模型,和其他层没有关系)

2业务层:
也就是我们常说的 service 层。它负责业务逻辑处理,和我们开发项目的需求息息相关。web 层依赖业务层,但是业务层不依赖 web 层。
业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务一致性。(也就是我们说的,
事务应该放到业务层来控制)

3持久层:
也就是我们是常说的 dao 层。负责数据持久化,包括数据层即数据库和数据访问层,数据库是对数据进 行持久化的载体,数据访问层是业务层和持久层交互的接口,业务层需要通过数据访问层将数据持久化到数据库 中。通俗的讲,持久层就是和数据库交互,对数据库表进行曾删改查的。

1.1.2 MVC 模型
MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种用于设计创建 Web 应用程序表现层的模式。MVC 中每个部分各司其职:
Model(模型):
通常指的就是我们的数据模型。作用一般情况下用于封装数据。
View(视图):
通常指的就是我们的 jsp 或者 html。作用一般就是展示数据的。
通常视图是依据模型数据创建的。
Controller(控制器):
是应用程序中处理用户交互的部分。作用一般就是处理程序逻辑的。

例如:我们要保存一个用户的信息,该用户信息中包含了姓名,性别,年龄等等。
这时候表单输入要求年龄必须是 1~100 之间的整数。姓名和性别不能为空。并且把数据填充
到模型之中。
此时除了 js 的校验之外,服务器端也应该有数据准确性的校验,那么校验就是控制器的该做
的。
当校验失败后,由控制器负责把错误页面展示给使用者。
如果校验成功,也是控制器负责把数据填充到模型,并且调用业务层实现完整的业务需求。

SpringMVC工作流程图

 SpringMVC核心注解

@Controller 注解

只要在定义类上标注 @Controller 注解,则表示该类为页面控制器类,可以用于处理前端控制器转发的 HTTP 请求

每个控制器类可拥有多个处理 HTTP 请求的方法,每个方法负责不同的请求操作

需要使用<context:component-scan/>扫描器扫描页面控制器类所在包,@Controller 注解才能会生效

@RequestMapping 注解

@RequestMapping 注解的作用就是将前端控制器转发的 HTTP 请求映射到对应的控制器类的方法中

将请求映射到控制器类的处理方法的工作包含一系列的映射规则,这些规则是根据请求中的各种信息制定的,具体包括请求URL、请求参数、请求方法、请求头这4个方面的信息项

标签:控制器,架构,请求,SpringMVC,业务,MVC,概述,持久
From: https://www.cnblogs.com/shangeg/p/17745257.html

相关文章

  • Spring概述
    Spring概述简介Spring是一个开源的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。2002年,RodJahnson首次推出了Spring框架雏形interface21框架。2004年3月24日,Spring框架以interface21框架为基础,经过重新......
  • SpringMVC
    MVC:模型(model),视图(view),控制器(controller)SpringMVC是SprIng框架的web组件拦截器是类似于过滤器的OSI七层模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层TCP/IP协议四层:网络接口层,网络层,传输层,应用层JAVAEE三层:持久层,业务层,表现层SpringMVC工作流程核心: ......
  • 3. SpringMVC-使用注解开发-beans
    万能开头:<beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:c="http://www.spring......
  • SpringMVC 数据校验
    SpringMVC数据校验应用程序在执行业务逻辑前,必须通过数据校验保证接收的输入数据时正确合法的.在一般情况下,应用程序的开发是分层的,不同层的代码由不同开发人员负责。很多时候,同样的数据校验会出现在不同层中,这样会导致代码冗余,为了避免这样的情况,最好是将验证逻辑和相应的域......
  • SpringMVC 拦截器
    SpringMVC拦截器<!--配置拦截器,可定义多个拦截器--><mvc:interceptors><!--定义1个拦截器--><mvc:interceptor><!--用于指定拦截器匹配url--><mvc:mappingpath="/user/**"/><!--用于指定拦截器排除的url-->&......
  • SpringMVC 文件上传
    SpringMVC文件上传<!--支持文件上传--><beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!--maxUploadSizePerFile:单个文件大小限制maxUploadSize:整个请求大小限制--><propert......
  • SpringMVC 异常处理
    SpringMVC异常处理异常处理类ExceptionHandlerpackagecom.tobie.globalexception;importorg.springframework.ui.ModelMap;importorg.springframework.web.bind.annotation.ControllerAdvice;importorg.springframework.web.bind.annotation.ExceptionHandler;import......
  • SpringMVC入门demo
    工作流程demo使用:配置文件配置DispatcherServlet<?xmlversion="1.0"encoding="UTF-8"?><!--更新版本为4.0--><web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://xmlns.jcp.org/xml/ns/j......
  • SpringMVC 类型转换
    SpringMVC类型转换Spring引入通用的数据类型转换系统,其定义了SPI接口和相应的运行时执行类型转换的API,提供无状态、强类型其可以在任意类型之间进行类型转换,可以用于任何需要的地方(如SpEL、数据绑定等)内置类型转换器<!--开启类型转换服务--><mvc:annotation-drivenconver......
  • 第一章 计算机系统概述
    1.2.2计算机硬件系统由运算器,储存器,控制器,输入设备,输出设备5大部件组成,主观上来说最初的CPU=运算器+控制器先详细介绍一下储存器:储存器主要分为主储存器和辅助储存器,CPU能够直接访问的是主储存器。主储存器的工作方式是按存储单元的地址进行存取,称为按地址存取方式。......