目录
一、maven的学习与在IDEA上实现创建
1、maven的概述
总结语:Maven是一款管理和构建Java项目的工具。
maven作用图片展示




总结:
Maven是一款服务于Java平台的自动化构建工具。Maven 作为 Java 项目管理工具,它不仅可以用作包管理,还有许多的插件,可以支持整个项目的开发、打包、测试及部署等一系列行为。
传统工程我们直按把jar包放置在项目中, Maven工程真正的jar包放置在仓库中,项目中只用放置jar包的坐标。不使用Maven工具,当做 Java 项目需要第三方依赖包时,将别人打好的 Jar 包下载到本地,然后手动指定给项目。另外,比如版本控制,需要新版本怎么办,重新下载,重新指定,这个过程操作麻烦。而用了 Maven 之后,需要什么包,直接在 pom.xml 中添加几行 xml 代码(添加所依赖jar包的坐标),指定包名、版本等,就可以了,方便开发。
maven与仓库

(1)仓库的分类
本地仓库:当前电脑上部署的仓库,为当前电脑上所有的Maven工程服务。
远程仓库:
a、私服:架设在当前局域网环境下,为当前局域网范围内的所有Maven工程服务。
b、中央仓库:架设在Internet上,为全世界的所有Maven工程服务。
(2)仓库中保存的内容:Maven工程
a、Maven自身所需要的插件。
b、第三方框架或工具的jar包(最早也是Maven工程的形式,只不过是打包成了jar包)。
c、我们自己开发的Maven工程(也可以放入本地仓库)。
注:第一方是JDK,第二方是开发人员自己。
2、maven的使用
前置准备
想要在IDEA里创建maven项目前,我们要进行maven的安装、maven的环境配置和IDEA的集成配置,在进行配置使用的过程中,要注意以下几点:
1、IDEA与maven的版本问题,如果自己的IDEA版本太旧,那么下的一些比较新版本的maven会无法在IDEA上使用或下载资源;
2、如果用的是IDEA破解版的话,要注意自己的IDEA破解后会不会在maven使用时发生错误,这样就得考虑IDEA的替换使用了;
3、当下载好maven后,要去设置本地仓库地址和获取插件的路径,这样在后面的学习使用中才能减少错误的发生;
4、当对于maven完成相关设置后,接下来就是IDEA的集成配置,对maven方面的使用进行设置,后面才能正常使用,一般maven的使用语言是JDK11。
下面是我分享的maven安装包(apache-maven-3.8.8-bin版的)
链接:https://pan.baidu.com/s/1HNWFSq_ulyHJJZ2k8Nwf2Q
提取码:2134
maven与坐标

Maven的坐标:使用下面三个向量在仓库中唯一定位一个Maven工程(jar包)
a、groupid:公司或组织域名倒序+项目名
<groupid>com.atguigu.maven</groupid>
b、artifactid:模块名
<artifactid>Hello</artifactid>
c、version:版本
<version>1.0.0</version>
3、maven的依赖管理
依赖配置

代码示例:
XML
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>mvn_ex01</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<!--依赖配置-->
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.10</version>
</dependency>
<dependency>
<groupId>org.example</groupId>
<artifactId>mvn_pro01</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
依赖传递


代码示例
mvn_ex01:
XML
<!--依赖配置-->
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.10</version>
</dependency>
<dependency>
<groupId>org.example</groupId>
<artifactId>mvn_pro01</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
mvn_pro02:
XML
<!--依赖配置-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.2</version>
</dependency>
</dependencies>
mvn_pro01:
XML
<!--依赖配置-->
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.example</groupId>
<artifactId>mvn_pro02</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
简化传递图:

进行排除依赖后
修改代码:
XML
<!--依赖配置-->
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.example</groupId>
<artifactId>mvn_pro02</artifactId>
<version>1.0-SNAPSHOT</version>
<!--排除依赖-->
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
简化传递图:

依赖范围

生命周期
图片展示:


注:生命周期包含很多内容,在此挑选五个重点来讲,分别是clean、compile、test、package、install。


二、SpringBootWeb入门
1、初步认识

未来与SpringBoot打交道,必不可少的是对网站的认识,可以在其网站中获得很多有用知识。
2、在IDEA上初步使用SpringBootWeb


完成上面的步骤后,可在SpringBootQuickStartApplication里运行,然后再浏览器中搜索"localhost:8080/hello"查看效果。
三、HTTP协议认识
1、概述

2、请求协议

注:请求行的三部分之间有空格隔开。


3、响应协议

请求协议与响应协议的格式十分相像,便于记忆。


4、协议解析

这部分的知识点目前学习到的不多,不过在这有了服务器、后端处理的概念,通过协议解析可以引出后面服务器的认识,未来是必须要深入了解的。
四、Web服务器------Tomcat
1、Tomcat简介


2、Tomcat使用方法




这是提供的Tomcat压缩包(apache-tomcat-10.1.20-windows-x64版):
链接:https://pan.baidu.com/s/13Qt78GcOODOqtkMoOwYyWw
提取码:1145
3、Tomcat入门程序解析


注:IDEA里创建的SpringBootWeb项目是内嵌Tomcat的。
