1.Maven概述

2.1、介绍

  • Apache Maven是一个项目构建和管理工具,它基于项目对象模型(POM)概念,通过一小段描述信息来管理项目的狗酱
  • 作用:
    • 方便的依赖管理
    • 统一的项目结构
    • 标准的项目构建刘晨
  • 官网:http://maven.apache.org/

image-20230810222503530.png

  • 仓库:用于存放资源,管理各种jar包
    • 本地仓库:自己计算机上的一个目录
    • 中央仓库:由Maven团队维护的全球唯一的
    • 远程仓库(私服):一般由公司团队搭建的私有仓库

1.2、安装

  • 步骤

    • 解压安装包
    • 配置本地仓库:修改conf/setting.xml中 localRepository标签为一个指定目录
    <localRepository>E:\apach-maven-3.6.1\maven-jar</localRepository>
    
    • 配置阿里云私服:修改 conf/setting.xml中 mirrors,为其添加以下子标签
    <mirror>  
        <id>alimaven</id>  
        <name>aliyun maven</name>  
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>          
    </mirror>
    
    • 配置环境变量:MAVEN_HOME为maven解压目录并将bin加入PATH环境变量
  • 测试

    • cmd—mvn -v

2.IDEA继承Maven

2.1、配置Maven环境

当前工程下配置

  • 选择 IDEA中File -> Settings -> Build,Execution,Deployment -> Build Tools -> Maven
  • 设置 IDEA 使用本地安装的 Maven,并修改配置文件及本地仓库路径

image-20230810222512452.png

全局Maven环境

image-20230810222518427.png

2.2、创建Maven项目

  • 步骤
    • 创建空项目
    • 创建模块,选择Maven,Next
    • 编写代码,运行

image-20230810222527778.png

image-20230810222533892.png

  • Maven坐标
    • Maven中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置
    • 使用坐标来定义项目或引入项目中需要的依赖
  • 坐标主要组成
    • groupId:定义当前Maven项目隶属组织名称(com.mhn)
    • artifactId:定义当前Maven项目名称(通常模块名称)
    • version:定义当前项目版本号

2.3、导入Maven项目

  • 打开IDEA,右侧Maven面板,点击 + 号,选择对应项目的pom.xml文件即可

image-20230810222541551.png

3.依赖管理

3.1、依赖配置

  • 依赖:指当前项目运行所需要的jar包,一个项目中可以引入多个依赖
  • 配置:
    • 在 pom.xml中编写 dependencies 标签
    • 在 dependencies 标签中使用 dependency标签引入坐标
    • 定义坐标的 groupId,artifactId,version
    • 刷新

【注意:如果引入的依赖,在本地仓库不存在,将会连接远程仓库/中央仓库,然后下载依赖】

如果不知道依赖的坐标信息:https://mvnrepository.com搜索

3.2、依赖传递

  • 依赖具有传递性
    • 直接依赖:在当前项目中通过依赖配置建立的依赖关系
    • 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

image-20230810222549210.png

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

image-20230810222555425.png

3.3、依赖范围

  • 依赖的jar包,默认情况下,可以在任何地方使用,可以通过 scope标签设置其作用范围:
    • 主程序范围有效(main文件范围内)
    • 测试程序范围由小(test文件范围内)
    • 是否参与打包运行(package指令范围内)

image-20230810222602381.png

3.4、生命周期

  • Maven的声明周期就是为了对所有的maven项目构建过程进行抽象和统一
  • Maven中由3套互相独立的生命周期
    • clean:清理工作(清楚上一次编译的文件,意为清除缓存)
    • default:核心工作(编译、测试、打包、安装、部署等)
    • site:生成报告、发布站点等

【每套生命周期包含了一些阶段,阶段是由舒徐的,后面的阶段依赖于前面的阶段】

image-20230810222609947.png

  • 生命周期阶段
    • clean:移出上一次构建生成的文件
    • compile:编译项目源代码
    • test:使用适合的单元测试框架运行测试(junit)
    • package:将编译后的文件打包,jar、war
    • install:安装项目到本地仓库

【注意:在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行】

  • 执行指定生命周期的两周方式

    • 在idea中,右侧maven面板,选中对应的生命周期,双击执行

image-20230810222616521.png

  • 在命令行中,通过命令执行【需要在当前项目下运行cmd】

image-20230810222623112.png

4.SpringBootWeb入门

  • 快速入门

    • 使用 SpringBoot 开发一个web应用,浏览器发起请求 /hello 后,给浏览器返回字符串 Hello World
  • 步骤

    • 创建springBoot工程,勾选web开发相关依赖

image-20230810222633797.png

image-20230810222640591.png

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

    //请求处理类
    @RestController
    public class HelloControl {
      @RequestMapping("/hello")
      public String test(){
          System.out.println("Hello SpringBoot");
          System.out.println("");
          return "Hello SpringBoot";
      }
    }
    
  • 运行测试

5.Http协议

5.1、概述

  • 概念:

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

image-20230810222646941.png

  • 特点:

    • 基于TCP协议:面向连接,安全
    • 基于请求-响应模型的:一次请求对应一次响应
    • Http协议是无状态的协议:对事务处理没有记忆能力,每次请求-响应都是独立的
      • 缺点:多次请求不能共享数据
      • 优点:速度快

5.2、请求协议

  • 数据格式

image-20230810222652720.png

image-20230810222659563.png

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

5.3、响应协议

image-20230810222705994.png

  • 状态码
    • 200:客户端请求成功
    • 404:请求资源不存在,URL有误
    • 500:服务端发生不可预测的错误(BUG)

5.4、协议解析

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

6.Web服务器-Tomcat

6.1、简介

  • 概念
    • Tomcat是 Apache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范
  • JavaEE
    • Java Enterprise Edition,Java企业版,指Java企业级开发的技术规范综合。包含13项技术规范:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAP
  • Tomcat
    • 也称为 web 容器、Servlet容器。Servlet程序需要依赖于Tomcat才能运行
  • 官网:https://tomcat.apache.org/

6.2、基本使用

  • 下载

  • 安装:

    • 解压即可
  • 卸载

    • 直接删除文件即可
  • 启动

    • 双击bin\startup.bat
  • 关闭

    • 直接关闭窗口
    • bin\shutdown.bat
    • Ctrl+C
  • 遇到的问题

    • 启动窗口一闪而过:检查JAVA_HOME环境变量
    • 端口号冲突
  • 配置Tomcat端口号(conf/server.xml)

    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8843"/>
    

【注意:Http协议默认端口为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号】

6.3、入门程序解析

image-20230810222715176.png

  • 起步依赖
    • spring-boot-starter-web:包含了web应用开发所需要的常见依赖
    • spring-boot-starter-test:包含了单元测试所需要的常见依赖

内嵌Tomcat

results matching ""

    No results matching ""