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

JAVAWeb——maven、SpringBoot、HTTP、Tomcat

目录

1.maven

a.概述

b.作用

c.仓库

b.坐标

c.依赖管理

2.SpringBoot

3.HTTP

a.概述

b.请求协议

c.响应协议

d.协议解析

4.Tomcat

a.Web服务器

b.Tomcat

c.SpringBoot与Tomcat关系


1.maven

a.概述

Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具

b.作用

c.仓库

用于存储资源,管理各种jar包

本地仓库:自己计算机上的一个目录

中央仓库:由Maven团队维护的全球唯一的。

远程仓库(私服):一般由公司团队搭建的私有仓库

b.坐标

Maven中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置。使用坐标来定义项目或引入项目中需要的依赖

groupld:定义当前Maven项目隶属组织名称

artifactld:定义当前Maven项目名称

version:定义当前项目版本号

c.依赖管理

1.依赖配置

指当前项目运行所需要的jar包,一个项目中可以引入多个依赖

1.在pom.xml中编写<dependencies>标签

2.在<dependencies>标签中使用<dependency>引入坐标

3.定义坐标的groupld,artifactld,version

4.点击刷新按钮,引入最新加入的坐标

2.依赖传递

直接依赖:在当前项目中通过依赖配置建立的依赖关系

间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

依赖具有传递性:

排除依赖:排除依赖指主动断开依赖的资源,被排除的资源无需指定版本

1.在<dependencies>标签中使用<exclusions>

2.在<exclusions>标签中使用<exclusion>引入坐标的groupld,artifactld

4.点击刷新按钮,排除依赖

 3.依赖范围

依赖的jar包,默认情况下,可以在任何地方使用。可以通过<scope>...</scope>设置其作用范围。

作用范围:

              主程序范围有效。(main文件夹范围内)

              测试程序范围有效。(test文件夹范围内)

              是否参与打包运行。(package指令范围内)

4.生命周期

Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一

三套:

clean:清理工作

default:核心工作,如:编译、测试、打包、安装、部署等

site:生成报告、发布站点等 

 五个阶段:

2.SpringBoot

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

3.HTTP

a.概述

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

注意:

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

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

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

优点:速度快

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

b.请求协议

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

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

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

请求头:

注意:

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

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

c.响应协议

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

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

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

响应头:

状态码:

d.协议解析

协议解析是指在网络通信过程中对数据包进行解析和处理的过程。它根据协议规定的格式和规则,对数据包进行逐层解析,将数据包中的各个字段提取出来,并进行相应的处理和解释。

4.Tomcat

a.Web服务器

对HTTP协议操作进行封装,简化web程序开发。部署web项目,对外提供网上信息浏览服务

b.Tomcat

一个轻量级的web服务器,支持servlet、jsp等少量javaEE规范。也杯称为web容器、servlet容器

c.SpringBoot与Tomcat关系

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

 

相关文章:

JAVAWeb——maven、SpringBoot、HTTP、Tomcat

目录 1.maven a.概述 b.作用 c.仓库 b.坐标 c.依赖管理 2.SpringBoot 3.HTTP a.概述 b.请求协议 c.响应协议 d.协议解析 4.Tomcat a.Web服务器 b.Tomcat c.SpringBoot与Tomcat关系 1.maven a.概述 Maven是apache旗下的一个开源项目&#xff0c;是一款用于管理…...

【C++】—— set 与 multiset

【C】—— map 与 set 1 序列式容器和关联式容器2 set 系列的使用2.1 set 和 multiset 参考文档2.2 set 类的介绍2.3 set 的迭代器和构造2.4 set的增删查2.4.1 insert2.4.2 find 与 erase2.4.3 count 2.5 lower_bound 与 upper_bound2.6 multiset 与 set 的差异2.6.1 不再去重2…...

蓝桥杯-扫雷

这题不难&#xff0c;就是麻烦一点&#xff0c;这里暴力求解了直接 题目链接&#xff1a; 扫雷 AC代码&#xff1a; import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan ne…...

黑马JavaWeb-day06、07、08(SQL部分) _

文章目录 MYSQL概述数据模型SQL简介SQL分类 DDL数据库操作表操作 DML增&#xff08;INSERT&#xff09;改&#xff08;UPDATE&#xff09;删&#xff08;DELETE&#xff09; DQL基本查询条件查询&#xff08;where&#xff09;分组查询&#xff08;group by&#xff09;排序查询…...

三十五:Wireshark的捕获过滤器

Wireshark 是一个广泛使用的网络协议分析工具&#xff0c;主要用于捕获和分析网络流量。它支持丰富的协议分析&#xff0c;并提供了多种过滤方式&#xff0c;以便用户在大量数据中精确地找到自己关注的内容。在Wireshark中&#xff0c;过滤器可以分为两类&#xff1a;捕获过滤器…...

第9章 大模型的有害性(上)

9.1 引言 本章将探讨大型语言模型&#xff08;LLMs&#xff09;可能带来的有害性&#xff0c;重点讨论以下几个方面&#xff1a; 性能差异社会偏见和刻板印象 在后续内容中&#xff0c;还会涉及其他层面的危害&#xff0c;如有害信息、虚假信息、隐私和安全风险、版权问题、…...

遗传算法与深度学习实战(26)——编码卷积神经网络架构

遗传算法与深度学习实战&#xff08;26&#xff09;——编码卷积神经网络架构 0. 前言1. EvoCNN 原理1.1 工作原理1.2 基因编码 2. 编码卷积神经网络架构小结系列链接 0. 前言 我们已经学习了如何构建卷积神经网络 (Convolutional Neural Network, CNN)&#xff0c;在本节中&a…...

Linux无线网络配置工具:iwconfig vs iw

在Linux系统中&#xff0c;无线网络配置和管理是网络管理员和开发者的常见任务。本文将详细介绍两个常用的无线网络配置命令行工具&#xff1a;iwconfig 和 iw&#xff0c;并对比它们之间的区别&#xff0c;帮助您更好地选择合适的工具进行无线网络配置。 一、iwconfig 简介 …...

RabbitMQ介绍及安装

文章目录 一. MQ二. RabbitMQ三. RabbitMQ作用四. MQ产品对比五. 安装RabbitMQ1. 安装erlang2. 安装rabbitMQ3. 安装RabbitMQ管理界⾯4. 启动服务5. 访问界面6. 添加管理员用户7. 重新登录 一. MQ MQ( Message queue ), 从字⾯意思上看, 本质是个队列, FIFO 先⼊先出&#xff…...

借助 AI 工具,共享旅游-卡-项目助力年底增收攻略

年底了&#xff0c;大量的商家都在开始筹备搞活动&#xff0c;接下来的双十二、元旦、春节、开门红、寒假&#xff0c;各种活动&#xff0c;目的就是为了拉动新客户。 距离过年还有56 天&#xff0c;如何破局&#xff1f; 1、销售渠道 针对旅游卡项目&#xff0c;主要销售渠道…...

Docker Compose 和 Kubernetes 之间的区别?

一、简介&#x1f380; 1.1 Docker Compose Docker Compose 是 Docker 官方的开源项目&#xff0c;负责实现对 Docker 容器集群的快速编排&#xff0c;可以管理多个 Docker 容器组成一个应用。你只需定义一个 YAML 格式的配置文件 docker-compose.yml &#xff0c;即可创建并…...

node.js常用的模块和中间件?

‌Node.js常用的模块和中间件包括以下几种‌&#xff1a; ‌Express‌&#xff1a;Express是一个灵活的Node.js web应用框架&#xff0c;提供了丰富的API来处理HTTP请求和响应。它支持中间件系统&#xff0c;可以轻松地添加各种功能&#xff0c;如路由、模板引擎、静态文件服务…...

Llama模型分布式训练(微调)

1 常见大模型 1.1 参数量对照表 模型参数量发布时间训练的显存需求VGG-19143.68M2014~5 GB&#xff08;单 224x224 图像&#xff0c;batch_size32&#xff09;ResNet-15260.19M2015~7 GB&#xff08;单 224x224 图像&#xff0c;batch_size32&#xff09;GPT-2 117M117M2019~…...

Matlab模块From Workspace使用数据类型说明

Matlab原文连接&#xff1a;Load Data Using the From Workspace Block 模型&#xff1a; 从信号来源的数据&#xff1a; timeseries 数据&#xff1a; sampleTime 0.01; numSteps 1001;time sampleTime*[0:(numSteps-1)]; time time;data sin(2*pi/3*time);simin time…...

LangChain学习笔记(一)-LangChain简介

LangChain学习笔记&#xff08;一&#xff09;-LangChain简介 langChain是一个人工智能大语言模型的开发框架&#xff0c;主要构成为下图。 ​ ​ 一、核心模块 &#xff08;一&#xff09;模型I/O模块 负责与现有大模型进行交互&#xff0c;由三部分组成&#xff1a; 提…...

k8s,声明式API对象理解

命令式API 比如&#xff1a; 先kubectl create&#xff0c;再replace的操作&#xff0c;我们称为命令式配置文件操作 kubectl replace的执行过程&#xff0c;是使用新的YAML文件中的API对象&#xff0c;替换原有的API对象&#xff1b;而kubectl apply&#xff0c;则是执行了一…...

KubeBlocks v0.9.2发布啦!支持容器镜像滚动更新、MySQL支持Jemalloc...快来升级体验更多新功能!

KubeBlocks v0.9.2 正式发布啦&#xff01;本次发布包含了一些新功能、关键的错误修复以及各种改进。以下是详细的更新内容。 升级文档 v0.9.2 升级方式与 v0.9.1 相同&#xff0c;替换版本即可哦&#xff5e; https://kubeblocks.io/docs/release-0.9/user_docs/upgrade/up…...

Linux-虚拟环境

文章目录 一. 虚拟机二. 虚拟化软件三. VMware WorkStation四. 安装CentOS操作系统五. 在VMware中导入CentOS虚拟机六. 远程连接Linux系统1. Finalshell安装2. 虚拟机网络配置3. 连接到Linux系统 七. 虚拟机快照 一. 虚拟机 借助虚拟化技术&#xff0c;我们可以在系统中&#…...

window系统下的git怎么在黑窗口配置代理

在Windows系统下&#xff0c;通过黑窗口&#xff08;命令行界面&#xff09;配置Git代理主要有两种方式&#xff1a;配置HTTP代理和配置SOCKS5代理。以下是具体的步骤&#xff1a; 配置HTTP代理 临时代理设置&#xff08;仅对当前命令行会话有效&#xff09;&#xff1a; set …...

网络和通信详解

一、Java 网络编程基础 IP 地址和端口号 IP 地址&#xff1a; IP 地址是互联网协议地址&#xff0c;用于标识网络中的设备。在 Java 中&#xff0c;InetAddress类是用于表示 IP 地址的主要类。例如&#xff0c;InetAddress.getByName("www.example.com")可以获取指定…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

Python 高效图像帧提取与视频编码:实战指南

Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要&#xff0c;uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件&#xff0c;需要安装才能使用。 一、安装扩展插件 安装方法&#xff1a; 1.访问uniapp官方文档组件部分&#xff1a;组件使用的入门教程 | uni-app官网 点击左侧…...

聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇

根据 QYResearch 发布的市场报告显示&#xff0c;全球市场规模预计在 2031 年达到 9848 万美元&#xff0c;2025 - 2031 年期间年复合增长率&#xff08;CAGR&#xff09;为 3.7%。在竞争格局上&#xff0c;市场集中度较高&#xff0c;2024 年全球前十强厂商占据约 74.0% 的市场…...