一.什么是Spring Web MVC?

Spring Web MVC 是基于Servlet API(由于使用比较难,现在不用了)构建得原始Web框架,是Spring Framework的 Web模块,官方名字为 Spring Web MVC,日常叫做 Spring MVC。他是一个Web框架,所以Spring Boot引入这个依赖(虽然Spring Boot是基于Spring Framework实现的,而Spring Framework又有这个Web模块,但Spring Boot不会自动引入,毕竟里面有许多模块,按需引用就行),用于处理浏览器或客户端的 HTTP 交互。

二. MVC定义

MVC是Model View Controller的缩写,它是软件⼯程中的⼀种软件架构设计模式,它把软件系统分 为模型、视图和控制器三个基本部分。

View(视图):指在应⽤程序中专⻔⽤来与浏览器进⾏交互,展⽰数据的资源.

Model(模型):是应⽤程序的主体部分,⽤来处理程序中数据逻辑的部分.

Controller(控制器):可以理解为⼀个分发器,⽤来决定对于视图发来的请求,需要⽤哪⼀个模型 来处理,以及处理完后需要跳回到哪⼀个视图。即⽤来连接视图和模型

不过Spring在实现MVC时,也结合⾃⾝项⽬的特点,做了⼀些改变,相对⽽⾔,下⾯这个图或许更加合适 ⼀些.

不过后面连view都没有了

三.学习Spring Web MVC

既然是Web框架,那么当用户在浏览器中输⼊了url之后,我们的SpringMVC项⽬就可以感知到⽤⼾ 的请求,并给予响应.

咱们学习SpringMVC,重点也就是学习如何通过浏览器和⽤⼾程序进⾏交互. 主要分以下三个⽅⾯: 1. 建⽴连接:将⽤⼾(浏览器)和Java程序连接起来,也就是访问⼀个地址能够调⽤到我们的 Spring 程序。

2. 请求: ⽤⼾请求的时候会带⼀些参数,在程序中要想办法获取到参数,所以请求这块主要是获取参数 的功能.

3. 响应: 执⾏了业务逻辑之后,要把程序执⾏的结果返回给⽤⼾,也就是响应.

1.建立连接

1)@RequestMapping注解介绍

@RequestMapping是Spring Web MVC 程序最常用的注解之一,用来注册接口的路由映射的。

路由映射:当用户使用URL来进行访问时,将用户的请求对应到Spring Web MVC程序中某个类中的某个方法的过程就叫做路由映射。

上面用到了另外一个注解,如果不用,再访问Web服务器就会出现404,原因是Spring Boot项目中有很多通过依赖申明引入来的jar包,jar包中有很多类,让我们在运行之前可以import使用这些类,但运行时不会加载所有的类,不然负载很大,只会加载一些特定的类(如上述注解)。所以既然没有加载该类,就不能路由反射到该方法。

2)@RequestMapping使用

@RequestMapping既可以修饰方法也可以修饰类,当修饰类和方法时,访问的地址是类路径+方法路径,但路径是唯一的。

除此之外,用户用浏览器访问我们的Spring MVC 项目,一般是向我们的项目(Web服务器)获取资源,也有可能是提交资源,如账户登录等,所以@RequestMapping有get(获取资源)和post(提交资源)请求,默认为get请求。

如何发送post的请求呢?按照过去的做法还要去写前端,但随着互联⽹的发展,也随着项⽬难度的增加,企业也按照开发的功能,把⼈员拆分成了不同的团队.界⾯ 显⽰交给"前端开发⼯程师",业务逻辑的实现交给"后端开发⼯程师". 后端开发⼯程师,不要求也不需要掌握前端技能了. 那后端开发⼯程师,如何测试⾃⼰的程序呢?--使⽤专业的接⼝测试⼯具 咱们课堂中使⽤的是Postman,接下来我们来学习Postman的使⽤.

四.Postman的使用方法

1.界面介绍

2.传参介绍

1)普通传参,也就是通过查询字符串来传参

2)通过HTTP请求体中的body传参

form-data(完整表示为:multipart/form-data)

通常⽤于提交图⽚/⽂件.HTML表单提交的数据, 在form标签中加上enctype="multipart/form-data",对应HTTP请求体中Head中的Content-Type: multipart/form-data

x-www-form-urlencoded

通常传键值对,于params普通传参隐秘点,传参键值对在Body中,是 HTML 表单的默认提交方式(不设置 enctype 时自动使用),对应 HTTP 请求头:Content-Type: application/x-www-form-urlencoded

raw

可以上传任意格式的⽂本,可以上传text、json、xml、html等

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐