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

SpringBoot_01

Spring

https://spring.io/

在这里插入图片描述

SpringBoot可以帮助我们非常快速的构建应用程序、简化开发、提高效率。

SpringBootWeb入门

需求:使用SpringBoot开发一个web应用,浏览器发起请求/hello后,给浏览器返回字符串"Hello World~~~"。

在这里插入图片描述

步骤:

  1. 创建springboot工程,并勾选web开发相关依赖。
  2. 定义HelloController类,添加方法hello,并添加注解。
  3. 运行测试。

创建一个新的模块,注意JDK与Java的版本,还有spring的版本

jdk1.8

Java8

spring2.7.16

在这里插入图片描述

创建请求处理类HelloContoller,添加请求处理方法hello,并添加注解

在这里插入图片描述

运行启动类,打开浏览器测试

在这里插入图片描述

HTTP协议

HTTP-概述

HTTP

  • 概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。

在这里插入图片描述

  • 特点:
    1. 基于TCP协议:面向连接,安全
    2. 基于请求-响应模型的:一次请求对应一次响应
    3. HTTP协议是无状态的协议:对于事物处理没有记忆能力。每次请求-响应都是独立的。
      • 优点:多次请求间不能共享数据
      • 优点:速度快

HTTP-请求协议

HTTP-请求数据格式

在这里插入图片描述

在这里插入图片描述

  • 请求方式-GET:请求参数在请求行中,没有请求体,如:http://localhost:63342/maven-project-01/springboot-web-quickstart/static/01_GET-POST.html?name=Tom&password=123456,GET请求大小是有限制的。
  • 请求方式-POST:请求参数在请求体中,POST请求大小是没有限制的

HTTP-响应协议

HTTP响应格式

在这里插入图片描述

响应状态码

在这里插入图片描述

状态码描述
200客户端请求成功
404请求资源不存在,一般是url输入有误,或者网站资源被删了
500服务器发生不可预期的错误

英文对应的含义

在这里插入图片描述

状态码大全:https://cloud.tencent.com/developer/chapter/13553

HTTP-协议解析

使用Tomcat

Web服务器-Tomcat

Web服务器

Web服务器是一个软件程序,对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是“提供网上信息浏览服务”。

在这里插入图片描述

简介

Tomcat

  • 概念:Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Sevlet/JSP少量JavaEE规范。
  • JavaEE:JavaEnterprise Edition,Java企业版。指Java企业级开发的技术规范总和。包含13项技术规范:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF
  • Tomcat也被称为Web容器、Servlet容器。Servlet程序需要依赖于Tomcat才能运行
  • 官网:https://tomcat.apache.org/
  1. Web服务器
    • 对HTTP协议进行封装,简化web程序开发。
    • 部署web项目,对外提供网上信息浏览服务。
  2. Tomcat
    • 一个轻量级的web服务器,支持servlet、jsp等少量JavaEE规范。
    • 也被称为web容器。servlet容器。

基本使用

不要下载,springboot已经内置了Tomcat

注意事项

  • HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号。

Tomcat部署项目:

  • 将项目放置到webapps目录下,即部署完成

入门程序解析

在这里插入图片描述

  • 起步依赖

spring-boot-starter-web:包含了web应用开发所需要的常见依赖

spring-boot-starter-test:包含了单元测试所需要的常见依赖

官方提供的说starter:https://docs.spring.io/spring-boot/docs/2.7.4/reference/htmlsingle/#using.build-systems.starters

在这里插入图片描述

  1. 起步依赖
    • spring-boot-starter-web:包含了web应用开发所需要的常见依赖
    • spring-boot-starter-test:包含了单元测试所需要的常见依赖
  2. 内嵌Tomcat服务器
    " style=“zoom:67%;” />

总结

  1. 起步依赖
    • spring-boot-starter-web:包含了web应用开发所需要的常见依赖
    • spring-boot-starter-test:包含了单元测试所需要的常见依赖
  2. 内嵌Tomcat服务器
    • 基于Springboot开发的web应用程序,内置了Tomcat服务器,当启动类运行时,会自动启动内嵌的Tomcat服务器。

相关文章:

SpringBoot_01

Spring https://spring.io/ SpringBoot可以帮助我们非常快速的构建应用程序、简化开发、提高效率。 SpringBootWeb入门 需求:使用SpringBoot开发一个web应用,浏览器发起请求/hello后,给浏览器返回字符串"Hello World~~~"。 步骤…...

【OS】AUTOSAR架构下多核通信

目录 前言 正文 1.多核通信介绍 2.多核间标准通信 2.1 什么是IOC 2.2 IOC的适用范围...

从Docker Hub获取镜像和创建容器

从Docker Hub获取镜像和创建容器 Docker Hub是一个公共的Docker镜像仓库,您可以从中获取各种镜像来构建容器。本文将演示如何从Docker Hub获取镜像,并用这些镜像创建和运行容器。让我们开始吧! 步骤 1:搜索镜像 首先&#xff0…...

江西开放大学引领学习新时代:电大搜题助力学子迈向成功

江西开放大学(简称江西电大)一直以来致力于为学子提供灵活便捷的学习服务。近年来,携手电大搜题微信公众号,江西开放大学以其卓越的教学质量和创新的教学手段,为广大学子开启了一扇通向成功的大门。 作为一家知名的远…...

入门指南:Docker的基本命令

入门指南:Docker的基本命令 Docker是一个功能强大的容器化平台,可以帮助您轻松构建、打包和部署应用程序。要充分利用Docker,您需要了解一些基本命令。本文将介绍并示范Docker的一些最重要的基本命令,以帮助您快速上手。 1. doc…...

nvdiffrast的MeshRenderer

获取输入: vertex: 顶点坐标,大小为(B, N, 3)tri: 面片索引,大小为(B, M, 3) 或 (M, 3)feat(可选): 顶点features,大小为(B, C)计算NDC(标准设备坐标)投影矩阵,用于投影到图像平面。将顶点坐标转换到同质坐标(加1维,方便后续运算)。用NDC投影矩阵将顶点坐标转换到NDC空间。创建…...

APISIX源码安装问题解决

官网手册的安装语句: curl https://raw.githubusercontent.com/apache/apisix/master/utils/install-dependencies.sh -sL | bash -执行 install-dependencies.sh 报如下错误: Transaction check error:file /usr/share/gcc-4.8.2/python/libstdcxx/v6…...

基于SSM和vue的在线购物系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SSM和vue的在线购物系统,java项目。…...

力扣100题——子串

560.和为k的子数组 这道题目不是滑动窗口的类型,因为长度并不是固定的。(好的,我在说废话) 注意题目要求是子数组,且是连贯的。那这里的话,解法有很多,最简单的就是暴力解法,但在这…...

自然语言处理中的文本聚类:揭示模式和见解

一、介绍 在自然语言处理(NLP)领域,文本聚类是一种基本且通用的技术,在信息检索、推荐系统、内容组织和情感分析等各种应用中发挥着关键作用。文本聚类是将相似文档或文本片段分组为簇或类别的过程。这项技术使我们能够发现隐藏的…...

C/C++内存管理——“C++”

各位CSDN的uu们你们好呀,好久没有更新小雅兰的C专栏啦,下面,小雅兰继续开始更新C专栏的内容!!!今天,小雅兰的内容是C和C的内存管理,下面,让我们进入C的世界吧&#xff01…...

jsp小知识

jsp小知识 1[单选题] 用户登录功能中,用到的数据库操作是( )。 正确答案: C 我的答案: C A. 增加 B. 删除 C. 查询 D. 修改 2[单选题] 下列说法错误的是( )。 正确答案: C 我的答案: C A. JDBC API包括一组支…...

Flutter:改变手机状态栏颜色,与appBar状态颜色抱持一致

前言 最近在搞app的开发,本来没怎么注意appBar与手机状态栏颜色的问题。但是朋友一说才注意到这两种的颜色是不一样的。 我的app 京东 qq音乐 这样一对比发现是有的丑啊,那么如何实现呢? 实现 怎么说呢,真不会。百度到的一些是…...

深入分析:一体化运维监控在金融行业的关键作用

金融行业,作为现代经济的核心支柱,对信息技术的依赖程度极高。在飞速发展的金融科技背景下,如何保障IT系统的稳定运行,成为了行业关注的焦点。一体化运维监控,通过实时监控、智能预警、快速定位及自动化恢复等功能&…...

物联网AI MicroPython学习之语法 network网络配置模块

学物联网,来万物简单IoT物联网!! network介绍 模块功能: 用于管理Wi-Fi和以太网的网络模块参考用法: import network import time nic network.WLAN(network.STA_IF) nic.active(True) if not nic.isconnected():…...

java根据前、中序遍历结果重新生成二叉树

1、首先写一个类表示二叉树 public class TreeNode {int num;TreeNode left;TreeNode right;public TreeNode(int num) {this.num num;}}2、根据前,中序遍历,在控制台我们可以得到两个结果pre 和 in: /*** 前序遍历* param node*/public st…...

利用检测结果实现半自动标注

1. 将目标检测结果保存为xml格式 #-----------------------------------------------------------------------------------# # 下面定义了xml里面的组成模块,无需改动。 #-----------------------------------------------------------------------------------…...

Android修行手册 - 万字梳理JNI开发正确技巧和错误缺陷

JNI 简介 JNI,Java Native Interface,是 native code 的编程接口。JNI 使 Java 代码程序可以与 native code 交互——在 Java 程序中调用 native code;在 native code 中嵌入 Java 虚拟机调用 Java 的代码。 它支持将 Java 代码与使用其他…...

C++学习 --类和对象之继承

目录 1, 继承的语法 1-1, 继承方式 1-1-1, 公共继承public 1-1-2, 私有继承private 1-1-3, 保护继承protected 2, 父类,子类同名属性处理 2-1, 成员变量同名 2-2, 成员函数同…...

Redis之缓存

文章目录 前言一、缓存使用缓存的原因 二、使用缓存实现思路提出问题 三、三大缓存问题缓存穿透缓存雪崩缓存击穿互斥锁实现逻辑过期时间实现 总结 前言 本篇文章即将探索的问题(以黑马点评为辅助讲解,大家主要体会实现逻辑) 使用redis缓存的…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...