一、介绍
Spring 框架是一个资源整合的框架,可以整合一切可以整合的资源(Spring 自身和第三方),是一个庞大的生态,包含很多子框架:Spring Framework、Spring Boot、Spring Data、Spring Cloud…… 其中Spring Framework是核心。
SSM框架
- Spring Framework框架
- Spring MVC框架
- Mybatis框架
二、Spring MVC简介
1.MVC
一种软件架构设计思想,目的是降低项目中各个模块之间的耦合度,模型视图控制器(model View Controller)
- model:负责业务逻辑处理和数据库操作
- view:负责页面最终显示
- Controller:负责接受请求并调用模型层处理业务,组织响应结果的返回
2.Spring MVC
java中基于MVC设计思想的框架,用于快速开发web应用程序,是Spring Framework的核心子框架
3.请求
3.1静态请求
静态文件放在resources/static目录下,build static 重新编译静态文件
3.2动态请求
-
控制器类上加@Controller注解
标识当前类为控制器,用于接收客户端发过来的请求 -
控制器方法上加@RequestMapping(“url路径”)
请求映射的路径,通过浏览器输入localhost/8080/url 进行访问 -
控制器方法上加@ResponseBody注解
允许控制器方法以返回值的形式返回给客户端数据 -
@RestController = @Controller+@ResponseBody
-
@PostMapping(url)
Post请求类型的Mapping,只能是post类型请求 -
@GetMapping (url)
Get类型请求 -
@Configuration
加在config类上,标识这是配置类
三、HTTP请求和响应
1.Http和Https
1.1 Http:
默认端口号:80
安全性较低:数据明文传输
传输效率高
不需要SSL证书
1.2Https
默认端口号:443
安全性较高:数据密文传输
传输效率较低
需要SSL证书
2.请求Request
- 请求行:
GET:获取资源
POST:新增资源
PUT:更新资源
DELETE:删除资源
请求路径
HTTP协议版本 - 请求头:
Content-Type:请求体的类型
Host:请求的主机地址
Cookie:后期会话保持 - 请求体:
客户端传给服务端的具体数据
GET请求
传递数据:通过查询参数的方式传递
http://localhost:8080/v1/users/login?username=xxx&password=xxx
POST请求
通过<input>表单控件传递
<form action="http://localhost:8080/v1/users/login" method="post">
<input type="text" name="username">
<input type="text" name="password">
<input type="submit" value="登录">
</form>
3.响应Response
- 响应状态码:
1xx:保留
2xx:成功
3xx:重定向
4xx:客户端错误
5xx:服务端服务 - 响应头:对当前响应的进一步描述
Content-Type:text/html 响应体的类型
Content-Length:3546 响应体数据大小 - 响应体:服务端返回客户端的具体数据
三、流程
1.创建工程,勾选lombok、Spring web依赖
2.创建pojo.dto.类名
dto是客户端发送给服务端所需的数据,一般是数据表的部分必需字段
@Data
public class UserRegDTO {
// 用户名,密码
private String username;
private String password;
3.创建controller
@Controller
public class UserController {
@PostMapping("/v1/users/reg1")
@ResponseBody
public String login(String username,String password){
return username + ":::" + password;
}
//pojo类传输参数
@RequestMapping("/v1/users/reg2")
@ResponseBody
public String reg3(UserRegDTO userRegDTO){
String username = userRegDTO.getUsername();
String password = userRegDTO.getPassword();
System.out.println(username + ":::" + password);
return username + "***" + password;
}
4.开启连接服务Application(自带的)
5.打开浏览器输入网址进行查看
http://localhost:8080/v1/users/reg1?username=xxx&password=yyy