JavaWeb - 7 - SpringBootWeb入门

Spring

        官网:Spring | Home

        Spring发展到今天已经形成了一种开发生态圈,Spring提供了若干个子项目,每个项目用于完成特定的功能

SpringBoot

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

一.SpringBootWeb入门

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

步骤:

1.创建springboot工程,填写模块信息,并勾选web开发相关依赖

2.定义HelloController类,添加方法hello,并添加注解

3.运行测试

二.HTTP协议

2.1 HTTP概述

        HTTP(Hyper Text Transfer Protocol),超文本传输协议,规定了浏览器和服务器之间数据传输的规则

 特点:

1.基于TCP协议:面向连接,安全

2.基于请求-响应模型的:一次请求对应一次响应

3.HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的

        缺点:多次请求间不能共享数据

        优点:速度快

2.2 HTTP请求协议

HTTP请求数据格式

        请求行:请求数据第一行(请求方式、资源路径、协议)

        请求头:第二行开始,格式key:value

        请求体:POST请求特有,存放请求参数

请求方式GET:请求参数在请求行中,没有请求体,如/brand/findAll?name=OPPO&status=1。GET请求大小是有限制的

请求方式POST:请求参数在请求体中,POST请求大小是没有限制的

2.3 HTTP响应协议

HTTP响应格式

        响应行:响应数据第一行(协议、状态码、描述)

        响应头:第二行开始,格式key:value

        响应体:最后一部分,存放响应数据

响应状态码

常见的响应状态码

        200:客户端请求成功

        404:请求资源不存在,一般是URL输入有误,或网站资源被删除

        500:服务器发生不可预期的错误

状态码大全:状态 | Status - HTTP 中文开发手册 - 开发者手册 - 腾讯云开发者社区-腾讯云

常见的响应头

2.4 HTTP协议解析

三.Web服务器-Tomcat

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

Web服务器

        · 对HTTP协议操作进行封装,简化web程序开发

        · 部署web项目,对外提供网上信息浏览服务

3.1 Tomcat

        · 一个轻量级的web服务器,支持servlet、jsp等少量javaEE规范

        · 也被称为web容器,servlet容器

3.2 Tomcat基本使用

3.2.1 Tomcat的安装、卸载、启动、停止

注意事项:HTTP协议默认端口号是80,如果Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号

3.2.2 Tomcat的部署

四.SpringBootWeb入门程序解析

起步依赖

        · spring-boot-starter-web

        · spring-boot-starter-test

内嵌Tomcat服务器

        基于Springboot开发的web应用程序,内置了tomcat服务器,当启动类运行时,会自动启动内嵌的tomcat服务器 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/432080.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【React】样式控制

1.react组件样式控制方式 行内样式&#xff08;通过style属性&#xff09;&#xff1a;不推荐class类名控制 function App() {const style {color: skyblue,fontSize: 20px}return (<div className"App"><span style{{ color: "pink", fontSiz…

N诺计算机考研-错题

B A.LLC&#xff0c;逻辑链路控制子层。一个主机中可能有多个进程在运行&#xff0c;它们可能同时与其他的一些进程&#xff08;在同一主机或多个主机中&#xff09;进行通信。因此在一个主机的 LLC子层的一个服务访问点&#xff0c;以便向多个进程提供服务。B.MAC地址&#xf…

VSCode#include头文件时找不到头文件:我的解决方法

0.前言 1.在学习了Linux之后&#xff0c;我平常大部分都使用本地的XShell或者VSCode连接远程云服务器写代码&#xff0c;CentOS的包管理器为我省去了不少繁琐的事情&#xff0c;今天使用vscode打开本地目录想写点代码发现#include头文件后&#xff0c;下方出现了波浪线&#…

手机解压软件加密指南:让文件更安全

在数字化时代&#xff0c;文件加密对于保护个人隐私和敏感信息的重要性不言而喻。随着互联网的飞速发展&#xff0c;我们的生活和工作越来越依赖于数字设备和网络。 然而&#xff0c;这也带来了一系列的安全风险&#xff0c;如黑客攻击、数据泄露等。文件加密技术成为了保护我…

keil软件开发流程

1.先建一个文件 2.然后打开keil&#xff0c;打开keil软件新建keil工程 3.确定保存的位置以及工程的名字 4.确定开发工程所用的单片机芯片 5.复制启动文件到工程中选择否 6.创建新的C文件 7.保存C文件 8.写一个代码 9.编译代码 10.勾选设置&#xff0c;生成可执行文件 10.构建代…

无人机之可承受风速的影响因素

无人机可承受风速的影响因素是多方面的&#xff0c;这些因素共同决定了无人机在特定风速条件下的飞行稳定性和安全性。以下是一些主要的影响因素&#xff1a; 一、无人机设计与结构 无人机的大小、形状和重量都会直接影响其抗风能力。大型无人机由于具有更大的表面积和质量&am…

HAproxy-7层负载均衡集群根据不同服务请求分配服务器

搭建HAproxy----7层负载均衡集群的补充 https://blog.csdn.net/qq_73990369/article/details/142500451?spm1001.2014.3001.5501 一、再准备两台虚拟机进行测试 192.168.229.15/24 ----php1 192.168.229.16/24 ----php2 1、PHP1 & php2(192.168.229.15/24 ,192…

SVG之path详解,全面解析椭圆弧命令A

前言&#xff1a; 转载于b站深坑妙脆角&#xff0c;讲解清晰明了&#xff0c;对初使用path圆弧命令非常友好 作者&#xff1a;深坑妙脆角 https://www.bilibili.com/read/cv35872299/?jump_opus1 出处&#xff1a;bilibili 简述&#xff1a; SVG 中的 <path> 元素用于创…

大数据Flink(一百二十三):五分钟上手Flink MySQL连接器

文章目录 五分钟上手Flink MySQL连接器 一、创建数据库表 二、​​​​​​创建session集群 三、源表查询 四、​​​​​窗口计算 五、​​​​​​结果数据写回数据库 五分钟上手Flink MySQL连接器 MySQL Connector可以将本地或远程的MySQL数据库连接到Flink中&#x…

16【Protues51单片机仿真】智能洗衣机倒计时系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 用直流电机转动模拟洗衣机。要求 有弱洗、普通洗、强洗三种模式&#xff0c;可通过按键选择。可以设置洗衣时长&#xff0c;通关按键选择15、30、45、60、90分钟。时间到蜂鸣器报警提示。LCD 显示…

Koa (下一代web框架) 【Node.js进阶】

koa (中文网) 是基于 Node.js 平台的下一代 web 开发框架&#xff0c;致力于成为应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石&#xff1b; 利用 async 函数 丢弃回调函数&#xff0c;并增强错误处理&#xff0c;koa 没有任何预置的中间件&#xff0c;可快速…

大数据Hive组件安装

组件版本 组件版本Hadoop3.3.0JDK1.8.0_241Mysql5.7.25Hive3.1.2 Hadoop集群服务分布 Node1Node2Node3NameNode DataNode DataNodeDataNode NodeManager NodeManagerResourceManagerSecondaryNameNode 安装前请确定Hadoop集群服务全部启动&#xff0c;不然后续测试时会报…

Python面向对象编程:类和对象①

文章目录 一、什么是面向对象编程1.1 面向对象编程的基本概念1.2 Python中的类和对象 二、定义类和创建对象2.1 定义类2.2 创建对象2.3 __init__方法2.4 self参数 三、类的属性和方法3.1 类的属性3.1.1 实例属性3.1.2 类属性 3.2 类的方法3.2.1 实例方法3.2.2 类方法3.2.3 静态…

解锁HTML的力量:从基础标签到完整网页构建

在整个学习编程技能的过程中&#xff0c;我们会始终基于编程的本质&#xff1a;输入-》函数处理-》输出 和编程语言的本质&#xff1a;语法糖、变量、基础函数&#xff0c;去理解各种编程技术和学习相关的技能。 今天开始学习编程的第一个技能点&#xff1a;HTML。正如编程的本…

2024 Snap 新款ar眼镜介绍

2024 snap 新款ar眼镜介绍 2024 Snap 新款ar眼镜介绍 助力快速掌握数据集的信息和使用方式。

EasyCVR全方位安全守护智慧电厂:构建高效视频监控系统优势分析

随着信息技术的飞速发展和数字化时代的到来&#xff0c;电厂作为能源供应的重要枢纽&#xff0c;其安全性和管理效率成为社会各界关注的焦点。为了满足电厂对高效、智能、可靠视频监控系统的需求&#xff0c;基于EasyCVR平台建设的电厂视频监控系统应运而生。 一、系统构成 基…

排序个人总结

插入排序 思路&#xff1b;定义 i 和 j&#xff0c;默认 i 前面的数都是有序的&#xff0c;j 定义为 i 的前一个数&#xff0c;把 i 的值给tmp&#xff0c;tmp与j对应的值进行比较&#xff0c;如果arr[j] > tmp,将arr[j] (大的数前移一位)&#xff0c;如下图 代码&#xf…

String类常用的方法

源代码&#xff1a; 输出结果&#xff1a;

从HarmonyOS Next导出手机照片

1&#xff09;打开DevEco Studio开发工具 2&#xff09;插入USB数据线&#xff0c;连接手机 3&#xff09;在DevEco Studio开发工具&#xff0c;通过View -> Tool Windows -> Device File Browser打开管理工具 4&#xff09;选择storage -> cloud -> 100->fi…

MySQL InnoDB MVCC读写逻辑分析与调测

目标 1、构建MVCC读写场景 2、gdb调试MVCC过程&#xff0c;输出流程图&#xff08;函数级别调用过程&#xff09; 前提 准备1 打开服务端 查询mysqld进程号 线程树 打开客户端&#xff0c;想创建几个事务号就打开几个客户端 准备2 数据库mvcc&#xff0c;两个表test和stu…