JavaEE进阶 --Spring Framework、Spring Boot和Spring Web MVC(2)
一.什么是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等

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

所有评论(0)