文章目录
1.Http
1.1Http概念
Http(超文本传输协议)是一个简单的请求-响应协议,通常在运行在TCP之上
- 文本:html、字符串…
- 超文本:图片、音乐、视频…
- 默认端口是80
Https:比http多了安全性
- 默认端口号:443
1.2两个阶段
- http1.0
- HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接
- http2.0
- HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源
1.3Http请求
- 客户端——发请求(Request)——服务器
以百度为例:
Request URL:https://www.baidu.com/ //请求地址
Request Method:GET //get方法/post方法
Status Code:200 OK //状态码:200
Remote(远程) Address:14.215.177.39:443
1.3.1请求行
- 请求行中的请求方式:GET
- 请求方式:GET、Post、HEAD…
- get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但是高效
- post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但是不高效
1.3.2消息头
Accept: //告诉浏览器所支持的数据类型
Accept-Encoding: //支持哪种编码格式
Accept-Language: //告诉浏览器它的语言环境
Cache-Control: //缓存控制
Connection //告诉浏览器请求完成是断开还是保持连接
1.4Http响应
- 服务器——响应——客户端
以百度为例:
Cache-Control:private //缓存控制
Connection:Keep-Alive //连接
Content-Encoding:gzip //编码
Content-Type:text/html //类型
1.4.1响应体
大致是和请求的消息头一样
Accept: //告诉浏览器所支持的数据类型
Accept-Encoding: //支持哪种编码格式
Accept-Language: //告诉浏览器它的语言环境
Cache-Control: //缓存控制
Connection //告诉浏览器请求完成是断开还是保持连接
Host: //主机名
Refresh: //告诉客户端多久刷新一次
Location: // 让网页重新定位
1.4.2响应状态码status
200:请求成功
3xx:请求重定向(重定向:重新到一个新的位置去)
4xx:找不到资源 eg:404
5xx:服务器代码错误 eg:502:网关错误
2.Maven
2.1Maven项目架构管理工具
目前用于来方便导入jar包
Maven的核心思想:约定大于配置(有约定就不要去违反),编写代码要按照Maven的规定去编写代码。
2.2Maven下载安装
进入官网,按照下图进行安装即可
下载解压即可。
2.3环境变量配置
在我们的系统变量中要配置如下
- MAVEN_HOME: maven目录
- M2_HOME :maven目录 的bin目录
- 在path中配置:%MAVEN_HOME%\bin
配置完成后,在cmd窗口进行测试
代表配置成功。
2.4修改配置文件(阿里云镜像)
在配置文件中找到这个xml文件,打开找到mirrors这一栏
- 镜像:mirrors
- 作用:加速我们的下载
- 国内最好使用阿里云镜像
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
2.5本地仓库
在本地建立仓库
建立一个本地仓库:localRepository,在配置文件里面加入本地仓库的地址
<localRepository>D:\AppCollections\Maven\apache-maven-3.8.6\maven-repo</localRepository>
2.6在IDEA中使用Maven
- 启动IDEA
- 创建一个MavenWeb项目
进入到下一个页面
进入到下一个页面
进入到下一个页面
3.等待项目初始化,当控制台出现BUILD SUCCESS时就是初始化成功
注:在配置完之后pom.xml文件中会出现Junit报错:Dependency ‘junit:junit:4.11’ not found
下图中白色的字体原本是红色的(我已经改好了),是因为Maven版本过高或者是IDEA版本过低,需要升级IDEA或者是降低Maven版本,这里我原来用的是IDEA2021和Maven3.8,然后怎么改都不行,则我换成IDEA2022,在重新在里面打开这个web,就会自动帮我下载报错所需要的东西,然后就可以了。(好像idea2021只支持到Maven3.8.1?)
4.观察maven仓库多出什么东西
5.在IDEA中配置Maven,在左上角File里面点击setting
注意:IDEA项目创建成功后,看看maven配置是否是自己下载maven,有可能会出现创建的时候使用的是idea自带的maven
配置结束!
2.7直接用IDEA创建普通的Maven
点击创建如何什么都不用勾选,直接点next
只有web应用才会有(2.4创建的maven就有):
2.8IDEA中标记文件夹功能
2.9在IDEA中配置Tomcat
由于贫穷大学生用的是社区版(没搞破解版),所以Tomcat需要自行下载插件:
1.点击左上角File,在选择Setting,点击插件,搜索Smart Tomcat,下载安装,重启IDEA
2.再次点开Setting,在最下面就会出现Tomcat Server,点击然后添加自己下载的Tomcat路径即可
下载完成后,点击右上角的选择配置,选择Smart Tomcat,点击确定,进行配置
选择这个war
点击确定即可,再在右上角点击运行,然后控制台会出现一串红字,然后会出现一个网页,点击进去是给Hello World!就成功啦!
2.10pom文件
Maven.Project目录分析
pom.xml是Maven的核心配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!--Maven版本和头文件-->
<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>
<!--这里是配置的GAV-->
<groupId>org.example</groupId>
<artifactId>javaweb-01-maven</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- Packaging:项目的打包方式 jar:java应用 war:javaweb应用-->
<packaging>war</packaging>
<name>javaweb-01-maven Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url><!--配置-->
<properties>
<!--项目默认编码-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--编码版本-->
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<!--项目依赖-->
<dependencies>
<!-- 具体依赖的jar包-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<!--Maven的厉害之处在于它会自动帮你导入JAR包所依赖的jar-->
</dependencies>
<!-- 项目构建要用到的东西-->
<build> <finalName>javaweb-01-maven</finalName><pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins><plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version></plugin> <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> </plugins> </pluginManagement> </build></project>
可以在build中配置resources(代码可以上网找),来防止我们资源导出失败。
配置结束,卒