【Spring 全家桶】Spring MVC 快速入门,开始web 更好上手(上篇) , 万字解析, 建议收藏 ! ! !

本篇会加入个人的所谓鱼式疯言

❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言

而是理解过并总结出来通俗易懂的大白话,

小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.

🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!

在这里插入图片描述

引言

Spring MVC 犹如一座桥梁,连接着前端的精彩与后端的强大,它赋予开发者以灵动之笔,在数字化的画布上描绘出绚丽多彩的 Web 世界。在 Spring MVC 的引领下,我们能够驾驭复杂的业务逻辑,实现流畅的用户体验,让技术与创意完美融合,开启无限可能的 Web 开发之旅。

目录

  1. Spring MVC

  2. Controller 的参数传递

  3. Cookie 与 Session 传递

一. Spring MVC

1. Spring MVC 初识

在这里插入图片描述

如上图

首先当用户发送一个 HTTP 请求 , 是直接给 Controller 控制器 发送请求

然后当 Controller 控制器 接收到之后, 就会把请求进一步传给 Model, 让 Model 来处理 数据并返回结果给 Controller 。

最后 Controller 接收到 Model 响应 的数据之后, **不会直接返回给用户, 而是传给 View **, 让View响应对应的文字和图片等数据的页面展示给用户

如上图, 上面的这样模型就称之为 Spring MVC 模型

Model: 负责具体的 数据管理和业务逻辑的处理的一端

Controller : 负责接收来自 用户的数据 , 并传递给 Model 端 进行处理 , 并 传递给View 端

View : 负责把最终的结果数据 , 通过页面展示的方式 响应给用户。

鱼式疯言

补充讲解

找工作栗子:

上述的流程就好比我们应届生找工作的过程:

好比现在小编有一个内推名额, 有了内推名额的话

小编这边就可以直接进行面试,也就是直接可以找 Controller 端进行面试,经过几波重重考验, 小编通过了面试。

这时Controller 就会告诉他的领导Model 来同意是否任用小编, 同意之后 , 领导Model 就会通知给 Controller .

Controller 然后又告诉 HR , 也就是这里的 View , 让View 直接给小编发 Offer

2. Spring MVC 的优点

Spring MVC 的优点:

低耦合性 : 使每个模块都 相互独立方便扩展更多的业务逻辑

高效性 : 每个模块都 独立工作 , 调用起来更方便,并且还能相互 配合处理大量的数据

集成性 : 与 Spring 框架集成开发效率高, 容易上手, 可以动态的配置文件 , 充分利用 Spring 的各种资源和特性

二. Controller 的参数传递

Controller 的参数传递, 主要是 演示代码 , 通过代码的方式来小伙伴初步的了解 Spring 框架 的使用, 下面我们开始吧~

1. 无参数

@RestController
@RequestMapping("/begin")
public class helloController {
   

    @RequestMapping("/hello")
    public  String hello() {
   
        return "I Love You";
    }
}

在这里插入图片描述

在讲解参数之前, 先带着小伙伴们回顾上一篇的内容:

@RestControllerController 入口的标志

@RequestMapping: 路径的声明, 第一个为 父路径/begin , 第二个为 子路径/hello

所以最终的URL 为:

http://127.0.0.1:8080/begin/hello

还不理解的小伙伴可以参考小编的前面一篇文章哦~

Spring 入门操作详解

鱼式疯言

补充说明

@RequestMapping : 可以接收 post 请求, 也可以接收 get 请求

  1. @RequestMapping 可以设置

get请求

 @RequestMapping(value = "/hello" ,method = RequestMethod.GET)
    public  String hello() {
   
        return "I Love You";
    }

post 请求:

 @RequestMapping(value = "/hello" ,method = RequestMethod.POST)
    public  String hello() {
   
        return "I Love You";
    }
  1. 或者可以换其他注解`:

@PostMapping : 只能接收 post请求

@GetMapping : 只能接收 get请求

2. 单参数传递

<1>. 普通演示

@RestController
@RequestMapping("/begin")
public class helloController {
   

    /**
     * 传递时需要同名
     * @param name 名字
     * @return 该正文
     */

//    传递一个请求参数

    @RequestMapping("/param1")
    public String param1(String name) {
   
        return "name: " + name;
    }

}

在这里插入图片描述

这里传递 单个参数, 是在 URL 的查询字符串进行拼接, 小编这里使用 postman 进行发送 get 请求 , 当 Controller 接收到 postman 发送的这条 URL 请求 时 , 就会 效应对应的数据

需要注意的是, 这里的 URL参数名 一定要 方法中的参数名 保持一致 。

鱼式疯言

补充说明

其实这里使用 postman发送请求和使用浏览器发送请求的效果是一样的, 没有本质区别。

在这里插入图片描述

如果还不熟练使用 postman 的小伙伴,也可以这样发送请求哦~

<2>. 重命名演示

上面的单参数传递是不是要必须保证参数名是统一的, 如果不统一会怎么样呢?

在这里插入图片描述
如上图,如果参数不统一我们就无法传入对应参数。

那么我们就 无法换参数传递 吗?

答案: 不是

我们还可以这样使用

@RestController
@RequestMapping("/begin")
public class helloController {
   


//    传递一个请求参数

    @RequestMapping("/param1")
    public String param1(@RequestParam("name1") String name) {
   
        return "name: " + name;
    }

在这里插入图片描述
如上图:

我们可以使用 @RequestParam("name1") 绑定参数

这里只需要 @RequestParam 中的参数和 URL 中的查询字符串中的参数相同 即可

方法中的参数我们只需要自己命名自己想要的都可以

但是有一点, @RequestParam("name1") 必传参数 ,也就是说 name1 如果没传就会出现 客户端的错误

鱼式疯言

补充说明

  @RequestMapping("/param1")
    public String param1(@RequestParam(value = "name1", required = false) String name) {
   
        return "name: " + name;
 } 

如上面的代码, 如果我们不需要是必传参数, 就可以把 required = false 即可

3. 多参数传递

如果我们不止传一个参数呢? 假如我们需要传 nameagegender 这三个参数

@RestController
[ 2021年,将Spring全家的课程进行Review,确保不再有顺序错乱等问题导致学员看不懂内容,进入2022年,将Spring的课程进行整理,整理为案例精讲的系列课程,并开始逐步增加高阶的Spring Security等内容,课件将逐步进行上传,敬请期待! ]本课程是Spring全家案例精讲课程的第二部分Spring MVCSpring案例精讲课程以真实场景、项目实战为导向,循序渐进,深入浅出的讲解Java网络编程,助力您在技术工作中更进一步。 本课程聚焦Java SpringWeb知识点,主要是关于Spring MVC的应用,包含:表单的增删改查、国际化、过滤器、拦截器、日志Log4j2及slf4j的使用、主题更改网站皮肤及样式、文件上传等的案例讲解,并且最后以一个SSM(Spring+Spring MVC+Mybatis)贯穿前后台的案例作为Spring MVC课程的终奖, 从而使大家快速掌握Spring的基础核心知识,快速上手,为面试、工作等做好充足准备。 由于本课程聚焦于案例,即直接上手操作,对于Spring的原理等不会做过多介绍,希望了解原理等内容的需要通过其他视频或者书籍去了解,建议按照该案例课程一步步做下来,之后再去进一步回顾原理,这样能够促进大家对原理有更好的理解。 【通过Spring全家,我们保证你能收获到以下几点】 1、掌握Spring全家主要部分的开发、实现2、可以使用Spring MVCSpring Boot、Spring Cloud及Spring Data进行大部分的Spring开发3、初步了解使用微服务、了解使用Spring进行微服务的设计实现4、奠定扎实的Spring技术,具备了一定的独立开发的能力  【实力讲师】 毕业于清华大学软件学院软件工程专业,曾在Accenture、IBM等知名外企任管理及架构职位,近15年的JavaEE经验,近8年的Spring经验,一直致力于架构、设计、开发及管理工作,在电商、零售、制造业等有丰富的项目实施经验 【本课程适用人群】如果你是一定不要错过!  适合于有JavaEE基础的,如:JSP、JSTL、Java基础等的学习者没有基础的学习者跟着课程可以学习,但是需要补充相关基础知识后,才能很好的参与到相关的工作中。 【Spring全家课程共包含如下几门】 
评论 57
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邂逅岁月

感谢干爹的超能力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值