目录
🎃MVC定义
🧨创建工程
🎨SpringMVC处理请求
请求分类及处理方式
静态请求
处理静态前端页面方式
动态请求
处理动态前端页面方式
⚙小试牛刀
🏆常见问题
📌HTTP协议
超文本传输协议
请求
🎃MVC定义
MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分。
M | Model,模型层,负责业务逻辑判断,数据库存取 |
V | View,视图层,负责界面展示,向用户呈现数据的方式(html页面、图片、文本等) |
C | Controller,控制器,负责接收用户请求,并根据请求调用相应的模型来处理业务逻辑 |
🧨创建工程
新建一个spring-mvc工程 (如图所示)-NEXT
勾选Spring Web
启动工程
这边是MySpringMvcAplication -点击 RUN
启动界面如图
🎨SpringMVC处理请求
请求分类及处理方式
静态请求
-
定义
指请求的页面由服务器上预先准备好的静态web资源组成,如HTML、CSS、JS、IMG等,返回给客户端的信息内容是不变的。
-
处理方式
由服务器直接将请求的资源返回给客户端,服务器不处理任何逻辑,只是将预先准备好的资源返回给客户端。
处理静态前端页面方式
第一种 可以在 html文件中选择对应的浏览器打开
第二种 可以输入在浏览器中手动输入 localhost:8080/index.html
动态请求
-
定义
服务器会根据用户的请求动态生成内容,将数据返回到客户端显示页面内容。
-
处理方式
由服务器从数据库中获取数据,并进行相应的逻辑处理后将处理结果返回客户端。
处理动态前端页面方式
通过在 controller 中定义对应的类及方法实现动态请求的业务逻辑处理。
@Controller | 添加在类上,用于处理用户请求 并将处理结果生成响应返回给用户 |
@RequestMapping | 请求注解 添加在控制器类或者控制方法上 控制器类上:为整个控制器指定一个基础路径 控制器方法上:指定相对于基础路径的具体路径 |
@ResonseBody | 响应注解,添加在控制器方法上,可以是控制器方法通过返回值的方式将响应返回给客户端 |
⚙小试牛刀
在工程下创建一个类 controller.OrderGoodsController
package org.example.myspringmvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class OrderGoodsController {
@RequestMapping("/v1/order/goods")
@ResponseBody
public String orderGoods(){
return "订单已经提交成功";
}
}
重启工程 MySpringMvcAplication
注意 每次更改前端或者服务端代码时候要重启工程
🏆常见问题
原图
亿图图示https://www.edrawmax.cn/online/share.html?code=9519dcac049b11efb3bfc7ec0d041a21
📌HTTP协议
超文本传输协议
HTTP协议是浏览器与服务器通讯的应用层协议,规定了浏览器与服务器之间的交互规则以及交互数据的格式信息等。
用途 : 网页获取,数据的传输
特点
应用层协议,使用tcp进行数据传输;
有丰富的请求类型;
可以传输的数据类型众多.
访问页面流程
原图
亿图图示https://www.edrawmax.cn/online/share.html?code=12a56234049e11ef94adf9ef8352e1d6
请求
HTTP请求 Request
浏览器给服务端发送的内容称为请求Request,一个请求包含三部分:请求行,请求头,请求体
请求行 : 具体的请求类别和请求内容
GET / HTTP/1.1
请求类别 抽象路径 协议版本
请求类别:
GET | 获取服务器资源 |
POST | 新增服务器资源 |
PUT | 更新服务器资源 |
DELETE | 删除服务器资源 |
关于抽象路径
默认路径
请求URL地址为:http://localhost:8080/
请求行为:GET /HTTP/1.1
其他路径(非默认路径)
请求URL地址为:http://localhost:8080/v1/users/login
请求行为:GET /v1/users/login HTTP/1.1
请求头:对请求的进一步解释和描述
请求头是浏览器可以给服务端发送的一些附加信息,有的用来说明浏览器自身内容,有的用来告知服务端交互细节,有的告知服务端消息正文详情等。
Host: localhost:8080
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
请求体: 请求参数或者提交内容
请求体通常是用户上传的信息,比如:在页面输入的注册信息,上传的附件等内容。