当前位置: 首页 > news >正文

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

<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")@ResponseBodypublic String login(String username,String password){return username + ":::" + password;}
//pojo类传输参数@RequestMapping("/v1/users/reg2")@ResponseBodypublic 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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • [数据集][目标检测]手钳检测数据集VOC+YOLO格式141张1类别
  • 一:《Python基础语法汇总》— 数据类型与输入输出
  • sql总结
  • C++入门——21特殊的类
  • PostgreSQL下载、安装(Windows 10/11 64位)详细教程【超详细,保姆级教程!!!】
  • python——常见创建型设计模式
  • 仿RabbitMq实现简易消息队列正式篇(路由匹配篇)
  • BFS解决单源最短路问题
  • MySql 高阶二(SQL 性能分析)
  • QT翻金币小游戏(含音频图片文件资源)
  • c#使用Microsoft.Office.Interop.Word提示无法嵌入或操作型“ApplicationClass”。请改用试用的接口。
  • day45-dynamic programming-part12-8.16
  • Python、R用RFM模型、机器学习对在线教育用户行为可视化分析|附数据、代码
  • 【排序算法】八大排序(上)(c语言实现)(附源码)
  • [Linux] 关于执行文件路径的变量:$PATH
  • [LeetCode] Wiggle Sort
  • Debian下无root权限使用Python访问Oracle
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JS题目及答案整理
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • MySQL数据库运维之数据恢复
  • Nacos系列:Nacos的Java SDK使用
  • Node项目之评分系统(二)- 数据库设计
  • Python 反序列化安全问题(二)
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • SpiderData 2019年2月25日 DApp数据排行榜
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #{}和${}的区别是什么 -- java面试
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (7)STL算法之交换赋值
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (function(){})()的分步解析
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (阿里云万网)-域名注册购买实名流程
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (十三)MipMap
  • (四)汇编语言——简单程序
  • (算法)区间调度问题
  • (小白学Java)Java简介和基本配置
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)winform之ListView
  • (转)程序员疫苗:代码注入
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .net6使用Sejil可视化日志
  • .net通过类组装数据转换为json并且传递给对方接口