Spring SSM框架--MVC

SSM框架--Mybatis

一、介绍

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动态请求
  1. 控制器类上加@Controller注解

    标识当前类为控制器,用于接收客户端发过来的请求

  2. 控制器方法上加@RequestMapping("url路径")

    请求映射的路径,通过浏览器输入localhost/8080/url 进行访问

  3. 控制器方法上加@ResponseBody注解

    允许控制器方法以返回值的形式返回给客户端数据

  4. @RestController = @Controller+@ResponseBody

  5. @PostMapping(url)

    Post请求类型的Mapping,只能是post类型请求

  6. @GetMapping (url)

    Get类型请求

  7. @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>表单控件传递

java 复制代码
<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是客户端发送给服务端所需的数据,一般是数据表的部分必需字段

java 复制代码
@Data
public class UserRegDTO {
    // 用户名,密码
    private String username;
    private String password;

3.创建controller

java 复制代码
@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

相关推荐
西门吹-禅1 小时前
java springboot N+1问题
java·开发语言·spring boot
DLYSB_1 小时前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯
weixin_BYSJ19871 小时前
SpringBoot + MySQL 乒乓球运动员信息管理系统项目实战--附源码04954
java·javascript·spring boot·python·django·flask·php
AI小码2 小时前
LLM 应用的缓存工程:当每次 API 调用都在燃烧成本
java·人工智能·spring·计算机·llm·编程·api
Hui Baby2 小时前
Spring Security
java·后端·spring
IT笔记3 小时前
【Rust】Rust Match 模式匹配详解
java·开发语言·rust
我才是银古3 小时前
构建 Java GIS 工具库:从碎片化 API 到统一抽象的设计实践
java·gis·geotools·gdal·esri
TPBoreas4 小时前
配置信息防泄露方案:.env 环境隔离详解(dotenv-java)
java·开发语言
Geek-Chow4 小时前
微服务认证与授权: 12 — JWKS 深入解析
spring·微服务·安全架构
敲代码的嘎仔4 小时前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档
java·开发语言·人工智能·git·python·实习·大二