JavaWeb HTTP和Maven

4、Http

4.1、什么是HTTP

HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。

  • 文本:html,字符串,~ ….
  • 超文本:图片,音乐,视频,定位,地图…….
  • 80

Https:安全的

  • 443

4.2、两个时代

  • http1.0

    • HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接
  • http2.0

    • HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源。‘

4.3、Http请求

  • 客户端—发请求(Request)—服务器

百度:

Request URL:https://www.baidu.com/   请求地址
Request Method:GET    get方法/post方法
Status Code:200 OK    状态码:200
Remote(远程) Address:14.215.177.39:443
Accept:text/html  
Accept-Encoding:gzip, deflate, br
Accept-Language:zh-CN,zh;q=0.9    语言
Cache-Control:max-age=0
Connection:keep-alive
1、请求行
  • 请求行中的请求方式:GET
  • 请求方式:Get,Post,HEAD,DELETE,PUT,TRACT…
    • get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效
    • post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。
2、消息头
Accept:告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式  GBK   UTF-8   GB2312  ISO8859-1
Accept-Language:告诉浏览器,它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
HOST:主机..../.

4.4、Http响应

  • 服务器—响应-----客户端

百度:

Cache-Control:private    缓存控制
Connection:Keep-Alive    连接
Content-Encoding:gzip    编码
Content-Type:text/html   类型
1.响应体
Accept:告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式  GBK   UTF-8   GB2312  ISO8859-1
Accept-Language:告诉浏览器,它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
HOST:主机..../.
Refresh:告诉客户端,多久刷新一次;
Location:让网页重新定位;
2、响应状态码

200:请求响应成功 200

3xx:请求重定向

  • 重定向:你重新到我给你新位置去;

4xx:找不到资源 404

  • 资源不存在;

5xx:服务器代码错误 500 502:网关错误

常见面试题:

当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么?

5、Maven

我为什么要学习这个技术?

  1. 在Javaweb开发中,需要使用大量的jar包,我们手动去导入;

  2. 如何能够让一个东西自动帮我导入和配置这个jar包。

    由此,Maven诞生了!

5.1 Maven项目架构管理工具

我们目前用来就是方便导入jar包的!

Maven的核心思想:约定大于配置

  • 有约束,不要去违反。

Maven会规定好你该如何去编写我们的Java代码,必须要按照这个规范来;

5.2 下载安装Maven

官网;https://maven.apache.org/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aXuB9eJH-1677417450888)(JavaWeb.assets/JavaWeb HTTP和Maven_第1张图片
)]

下载完成后,解压即可;

小狂神友情建议:电脑上的所有环境都放在一个文件夹下,方便管理;

5.3 配置环境变量

在我们的系统环境变量中

配置如下配置:

  • M2_HOME maven目录下的bin目录
  • MAVEN_HOME maven的目录
  • 在系统的path中配置 %MAVEN_HOME%\bin

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gkrn33tX-1677417450889)(JavaWeb.assets/JavaWeb HTTP和Maven_第2张图片
)]

测试Maven是否安装成功,保证必须配置完毕!

5.4 阿里云镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0crvMh0h-1677417450890)(JavaWeb.assets/JavaWeb HTTP和Maven_第3张图片
)]

  • 镜像:mirrors
    • 作用:加速我们的下载
  • 国内建议使用阿里云的镜像
<mirror>
    <id>nexus-aliyunid>  
    <mirrorOf>*,!jeecg,!jeecg-snapshotsmirrorOf>  
    <name>Nexus aliyunname>  
    <url>http://maven.aliyun.com/nexus/content/groups/publicurl> 
mirror>

5.5 本地仓库

在本地的仓库,远程仓库;

**建立一个本地仓库:**localRepository

<localRepository>D:\Environment\apache-maven-3.6.2\maven-repolocalRepository>

5.6、在IDEA中使用Maven

  1. 启动IDEA

  2. 创建一个MavenWeb项目

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d8C1kzup-1677417450891)(JavaWeb.assets/JavaWeb HTTP和Maven_第4张图片
    )]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iHPqtDOa-1677417450892)(JavaWeb.assets/JavaWeb HTTP和Maven_第5张图片
    )]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zg66iOsJ-1677417450892)(JavaWeb.assets/JavaWeb HTTP和Maven_第6张图片
    )]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G8kvE5e5-1677417450893)(JavaWeb.assets/JavaWeb HTTP和Maven_第7张图片
    )]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9AYInbAO-1677417450894)(JavaWeb.assets/JavaWeb HTTP和Maven_第8张图片
    )]

  3. 等待项目初始化完毕

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gcXJLSrO-1677417450894)(JavaWeb.assets/JavaWeb HTTP和Maven_第9张图片
    )]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-guB066W1-1677417450895)(JavaWeb.assets/JavaWeb HTTP和Maven_第10张图片
    )]

  4. 观察maven仓库中多了什么东西?

  5. IDEA中的Maven设置

    注意:IDEA项目创建成功后,看一眼Maven的配置

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0CPTtVEM-1677417450895)(JavaWeb.assets/JavaWeb HTTP和Maven_第11张图片
    )]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PhPHsd5H-1677417450896)(JavaWeb.assets/JavaWeb HTTP和Maven_第12张图片
    )]

  6. 到这里,Maven在IDEA中的配置和使用就OK了!

5.7、创建一个普通的Maven项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KOlNhbJd-1677417450896)(JavaWeb.assets/JavaWeb HTTP和Maven_第13张图片
)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lI2DVaiT-1677417450897)(JavaWeb.assets/JavaWeb HTTP和Maven_第14张图片
)]

这个只有在Web应用下才会有!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s2pOdagK-1677417450897)(JavaWeb.assets/JavaWeb HTTP和Maven_第15张图片
)]

5.8 标记文件夹功能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kMpAZgJd-1677417450898)(JavaWeb.assets/JavaWeb HTTP和Maven_第16张图片
)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oerosqUM-1677417450898)(JavaWeb.assets/JavaWeb HTTP和Maven_第17张图片
)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zPGDtWnN-1677417450899)(JavaWeb.assets/JavaWeb HTTP和Maven_第18张图片
)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WWuubPCU-1677417450899)(JavaWeb.assets/JavaWeb HTTP和Maven_第19张图片
)]

5.9 在 IDEA中配置Tomcat

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hrnoBi8W-1677417450900)(JavaWeb.assets/JavaWeb HTTP和Maven_第20张图片
)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TEaRUSPc-1677417450900)(JavaWeb.assets/JavaWeb HTTP和Maven_第21张图片
)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0OEDaabf-1677417450901)(JavaWeb.assets/JavaWeb HTTP和Maven_第22张图片
)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qok5gzRk-1677417450901)(JavaWeb.assets/JavaWeb HTTP和Maven_第23张图片
)]

解决警告问题

必须要的配置:为什么会有这个问题:我们访问一个网站,需要指定一个文件夹名字;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q5kdDxMH-1677417450902)(JavaWeb.assets/JavaWeb HTTP和Maven_第24张图片
)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WCJ6oe3C-1677417450902)(JavaWeb.assets/JavaWeb HTTP和Maven_第25张图片
)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DoWvj0Dw-1677417450903)(JavaWeb.assets/JavaWeb HTTP和Maven_第26张图片
)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dwy6TU8G-1677417450904)(JavaWeb.assets/JavaWeb HTTP和Maven_第27张图片
)]

5.10 pom文件

pom.xml 是Maven的核心配置文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xoTVD4iz-1677417450904)(JavaWeb.assets/JavaWeb HTTP和Maven_第28张图片
)]




<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.0modelVersion>

  
  <groupId>com.kuanggroupId>
  <artifactId>javaweb-01-mavenartifactId>
  <version>1.0-SNAPSHOTversion>
  
  <packaging>warpackaging>


  
  <properties>
    
    <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    
    <maven.compiler.source>1.8maven.compiler.source>
    <maven.compiler.target>1.8maven.compiler.target>
  properties>

  
  <dependencies>
    
    <dependency>
      <groupId>junitgroupId>
      <artifactId>junitartifactId>
      <version>4.11version>
    dependency>
  dependencies>

  
  <build>
    <finalName>javaweb-01-mavenfinalName>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-clean-pluginartifactId>
          <version>3.1.0version>
        plugin>
        
        <plugin>
          <artifactId>maven-resources-pluginartifactId>
          <version>3.0.2version>
        plugin>
        <plugin>
          <artifactId>maven-compiler-pluginartifactId>
          <version>3.8.0version>
        plugin>
        <plugin>
          <artifactId>maven-surefire-pluginartifactId>
          <version>2.22.1version>
        plugin>
        <plugin>
          <artifactId>maven-war-pluginartifactId>
          <version>3.2.2version>
        plugin>
        <plugin>
          <artifactId>maven-install-pluginartifactId>
          <version>2.5.2version>
        plugin>
        <plugin>
          <artifactId>maven-deploy-pluginartifactId>
          <version>2.8.2version>
        plugin>
      plugins>
    pluginManagement>
  build>
project>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l0QDRm6q-1677417450905)(JavaWeb.assets/JavaWeb HTTP和Maven_第29张图片
)]

maven由于他的约定大于配置,我们之后可以能遇到我们写的配置文件,无法被导出或者生效的问题,解决方案:


<build>
    <resources>
        <resource>
            <directory>src/main/resourcesdirectory>
            <includes>
                <include>**/*.propertiesinclude>
                <include>**/*.xmlinclude>
            includes>
            <filtering>truefiltering>
        resource>
        <resource>
            <directory>src/main/javadirectory>
            <includes>
                <include>**/*.propertiesinclude>
                <include>**/*.xmlinclude>
            includes>
            <filtering>truefiltering>
        resource>
    resources>
build>

5.12 IDEA操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y0qTEIDH-1677417450906)(JavaWeb.assets/JavaWeb HTTP和Maven_第30张图片
)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sxDMu9B1-1677417450906)(JavaWeb.assets/JavaWeb HTTP和Maven_第31张图片
)]

5.13 解决遇到的问题

  1. Maven 3.6.2

    解决方法:降级为3.6.1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-beMytcOi-1677417450907)(JavaWeb.assets/在这里插入图片描述
    )]

  2. Tomcat闪退

  3. IDEA中每次都要重复配置Maven
    在IDEA中的全局默认配置中去配置

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bixi9IC4-1677417450908)(JavaWeb.assets/JavaWeb HTTP和Maven_第32张图片
    )]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-00aMyYBI-1677417450910)(JavaWeb.assets/JavaWeb HTTP和Maven_第33张图片
    )]

  4. Maven项目中Tomcat无法配置

  5. maven默认web项目中的web.xml版本问题

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n2pTfy8g-1677417450911)(JavaWeb.assets/JavaWeb HTTP和Maven_第34张图片
    )]

  6. 替换为webapp4.0版本和tomcat一致

    
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                          http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0"
             metadata-complete="true">
    
    
    
    web-app>
    
  7. Maven仓库的使用

    地址:https://mvnrepository.com/

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RGnRDwaN-1677417450912)(JavaWeb.assets/在这里插入图片描述
    )]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZAf1npr4-1677417450913)(JavaWeb.assets/JavaWeb HTTP和Maven_第35张图片
    )]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dvhsg3fp-1677417450914)(JavaWeb.assets/JavaWeb HTTP和Maven_第36张图片
    )]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iOB4dvDM-1677417450915)(JavaWeb.assets/JavaWeb HTTP和Maven_第37张图片
    )]

你可能感兴趣的:(http,maven,java,web)