外贸网站建设制作教程,网站开发 入门,php网页设计教程,黄骅市简介一、Maven 1、什么是maven#xff1f; 2、Maven的作用是什么#xff1f;#xff08;3种#xff09; 1.1、方便的依赖管理
依赖管理#xff1a;有了Maven#xff0c;我们就不用再手动导入Jar包了#xff0c;我们只需要在配置文件当中#xff0c;简单描述一下项目所需要…
一、Maven 1、什么是maven 2、Maven的作用是什么3种 1.1、方便的依赖管理
依赖管理有了Maven我们就不用再手动导入Jar包了我们只需要在配置文件当中简单描述一下项目所需要的依赖信息即可Maven会自动联网下载 1.2、统一的项目结构
不管你用的是什么开发工具只要是使用了Maven那么项目下的目录结构都是一样的
1.3、标准化的项目构建流程
自动化项目构建我们可以通过Maven可以快速的完成编译、测试、打包、发布等流程 1.4、小结 3、Maven的概述
主要分为两个部分
介绍安装
3.1、介绍
Maven的模型通过Maven提供的各种各样的插件来完成项目的标准化构建
项目对象模型POM
仓库 私服可以理解为镜像网站国内访问速度会比访问中央仓库快 3.2、安装 解压Maven压缩包
maven的目录结构 配置本地仓库修改conf/settings.xml文件
在指定位置创建本地仓库文件夹mvn_repo
配置阿里云私服地址还是在conf/settings.xml文件中 配置环境变量 此外还需要将maven的bin目录加入到path变量中
测试是否安装成功
mvn -v 4、IDEA集成Maven
4.1、配置Maven环境第一种方案 -- 当前工程
4.2、配置Maven环境第二种方案 -- 全局参数 4.3、创建Maven项目
JDK17在创建项目的时候可以勾选maven 细节Maven在创建目录结构时由于test目录下面的resources不常用所以一般不会自动创建如果我们需要可以自己手动进行创建
4.4、导入Maven项目 4.5、补充Maven坐标 5、依赖管理Maven最核心的功能
主要为四部分
依赖配置依赖传递依赖范围生命周期
①、依赖配置 示例引入logback依赖 如果想要查找想要的依赖可以去Maven仓库去查找 https://mvnrepository.com/
②、依赖传递
依赖具有传递性 依赖关系 图形展示依赖关系 排除依赖比如A项目只想依赖B项目不想依赖B项目下的依赖那么就用到了排除依赖 演示 执行过后
③、依赖范围 默认情况下compile在任意情况下都有效
scope值为test 仅在测试程序中有效
④、Maven的生命周期
我们主要需要关注的有五个阶段
当我们运行package阶段前面的compile阶段也会运行
命令行方式来执行生命周期 clean阶段
删除编译好的target目录
compile阶段
编译当前项目文件生成的编译文件会存到target目录下 test阶段
test阶段是运行当前项目中所有的单元测试那么要想运行单元测试那么就需要有junit依赖 测试书写方法
Test 运行后标志 package阶段
我们在运行package阶段的过程中其前面的阶段也会被运行 install阶段
就是将打好的jar包安装到maven的本地仓库
实际上Maven的生命周期/阶段都是抽象的概念其并不执行具体的操作它具体的操作都是由与之绑定的Maven插件所执行的因为Maven本身就是一个插件执行框架所有的工作都是由插件完成的。
小结
二、Web入门Spring Boot
1、Why Spring Boot
Spring所有的项目几乎都依赖于 Spirng Framework但由于Spring Framework配置繁琐入门难度大所有后来Spring公司就又推出了Spring Boot用来尽可能快的构建一个Spirng应用
但Spring Boot其本质还是依赖于Spring Framework只是为其简化了配置
2、SpringBootWeb快速入门 2.1、开发步骤创建/定义/运行
创建一个springboot工程使用Spring Initializr 文件结构 定义HelloController类添加方法hello并添加注解
package com.yaqi.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;//请求处理类
RestControllerpublic class HelloController {RequestMapping(/hello)public String hello(){System.out.println(HelloWorld~);return HelloWorld~;}
}运行测试运行启动文件
3、HTTP协议
3.1、HTTP的概述
我们所说的这个HTTP协议其实就是数据传输的规则和格式主要包括两个方面
一个是请求数据的格式一个是响应数据的格式 请求和响应数据的原始格式其实就是一个文本字符串且格式非常固定
第一行指代了请求的方式、请求的资源路径、以及请求协议
而之后的这些我们都称之为请求头每一个请求头的格式前面是请求头的名字后面是请求头的值头和值通过一个冒号进行分隔
HTTP是一个无状态的协议
关于无状态协议的理解即HTTP的每次请求与响应都是独立的后一次请求是不会记录前一次请求的数据的多次请求之间不会数据共享。如我第一次登录成功第二次访问其它页面这就造成了我第二次访问页面的请求并不知道我第一次请求的时候是否登录成功这就出现了问题。但该问题可以通过Web会话技术Cookie\Session来解决。 3.2、HTTP的请求协议 GET请求没有请求体且请求大小有限制
POST请求有请求题请求大小无限制
常见的请求头 3.3、HTTP的响应协议
HTTP的响应协议同请求协议格式相同也是由三个部分组成的
响应行、响应头、响应体 状态码
2xx成功
4xx客户端错误
5xx服务器错误 状态码大全 HTTP 响应状态码 - HTTP | MDN 常见的响应状态码
重定向3xx
浏览器需要的资源被服务器A移到了服务器B那么A服务器就会给浏览器返回一个状态码并且再告诉浏览器让其去访问B服务器上的某个资源即可 常见的响应头
3.4、HTTP协议解析
简单的协议解析示例程序
Socket ServerSocket 有了Web服务器之后就不需要程序员再去直接操作HTTP协议关于HTTP解析和处理的代码都不用去做了开发人员只需要关注当前的业务逻辑实现即可这样就使得Web程序的开发更加简单和便捷。 三、Web服务器Tomcat
1、Tomcat简介 小结 2、Tomcat的基本使用
Tomcat是基于Java开发的默认占用端口8080 解决中文乱码修改配置文件中的字符编码
常见问题环境变量配置错误、端口号冲突 配置Tomcat端口号
示例 Tomcat项目部署
将web页面部署到Tomcat服务器只需要将想要部署的项目文件夹复制到Tomcat目录下的webapps目录下即可 3、SpringBootWeb — 入门程序解析
①、创建SpringBoot项目 手动创建
1. 创建maven项目
在idea中创建一个maven项目正常填写项目的坐标信息。如下图所示 输入项目的基本信息之后点击finish就可以创建一个maven项目 但是这个maven项目目前并不是springboot项目我们还需要做如下两步操作。 2. pom.xml配置
1). 在pom.xml中指定springboot的父工程
!-- springboot父工程--
parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.4/versionrelativePath/ !-- lookup parent from repository --
/parent 2). 添加springboot项目的起步依赖以及maven插件
dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency
/dependencies
buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins
/build 3.3 入门程序解析
关于web开发的基础知识我们可以告一段落了。下面呢我们在基于今天的核心技术点SpringBoot快速入门案例进行分析。
3.3.1 Spring官方骨架
之前我们创建的SpringBoot入门案例是基于Spring官方提供的骨架实现的。
Spring官方骨架可以理解为Spring官方为程序员提供一个搭建项目的模板。 我们可以通过访问https://start.spring.io/ 进入到官方骨架页面 Spring官方生成的SpringBoot项目怎么使用呢 解压缩后就会得到一个SpringBoot项目工程 打开pom.xml文件我们可以看到springboot项目中引入了web依赖和test依赖 结论不论使用IDEA创建SpringBoot项目还是直接在官方网站利用骨架生成SpringBoot项目项目的结构和pom.xml文件中内容是相似的。 3.3.2 起步依赖
在我们之前讲解的SpringBoot快速入门案例中同样也引用了web依赖和test依赖 spring-boot-starter-web和spring-boot-starter-test在SpringBoot中又称为起步依赖
而在SpringBoot的项目中有很多的起步依赖他们有一个共同的特征就是以spring-boot-starter-作为开头。在以后大家遇到spring-boot-starter-xxx这类的依赖都为起步依赖。
起步依赖有什么特殊之处呢这里我们以入门案例中引入的起步依赖做为讲解 spring-boot-starter-web包含了web应用开发所需要的常见依赖 spring-boot-starter-test包含了单元测试所需要的常见依赖 spring-boot-starter-web内部把关于Web开发所有的依赖都已经导入并且指定了版本只需引入 spring-boot-starter-web 依赖就可以实现Web开发的需要的功能 Spring的官方提供了很多现成的starter(起步依赖)我们在开发相关应用时只需要引入对应的starter即可。
官方地址Spring Boot Reference Documentation
每一个起步依赖都用于开发一个特定的功能。 举例当我们开发中需要使用redis数据库时只需要在SpringBoot项目中引入spring-boot-starter-redis 即可导入redis开发所需要的依赖。 3.3.2 SpringBoot父工程
在我们之前开发的SpringBoot入门案例中我们通过maven引入的依赖是没有指定具体的依赖版本号的。 为什么没有指定version版本号可以正常使用呢 因为每一个SpringBoot工程都有一个父工程。依赖的版本号在父工程中统一管理。 3.3.3 内嵌Tomcat
问题为什么我们之前书写的SpringBoot入门程序中并没有把程序部署到Tomcat的webapps目录下也可以运行呢
原因呢是因为在我们的SpringBoot中引入了web运行环境(也就是引入spring-boot-starter-web起步依赖)其内部已经集成了内置的Tomcat服务器。
我们可以通过IDEA开发工具右侧的maven面板中就可以看到当前工程引入的依赖。其中已经将Tomcat的相关依赖传递下来了也就是说在SpringBoot中可以直接使用Tomcat服务器。
当我们运行SpringBoot的引导类时(运行main方法)就会看到命令行输出的日志其中占用8080端口的就是Tomcat。