开始学后端!
1 Maven
Maven 是一款用于管理和构建 Java 项目的工具,基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建。
作用:
- 依赖管理
方便快捷的管理项目依赖的资源(jar 包),避免版本冲突问题
(通过在配置文件中配置,Maven 自动下载和更新 jar 包)
- 统一项目结构
提供标准、统一的项目结构
(无论使用任何编译器,Maven 统一了项目结构)
- 项目构建
标准跨平台(Linux、Windows、MacOs)的自动化项目构建方式
1.1 创建 Maven 项目
1.2 依赖管理
1.2.1 依赖配置
依赖:指当前项目运行所需要的 jar 包,一个项目中可以引入多个依赖
配置:
- 在 pom.xml 中编写 <dependencies> 标签
- 在 <dependencies> 标签,使用 <dependency> 引入坐标
- 定义坐标的 groupid,artifactid,version
- 点击刷新按钮,引入最新加入的坐标
1.2.2 依赖传递
依赖具有传递性
- 直接依赖:在当前项目中通过依赖配置建立的依赖关系
- 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源
排除依赖:排除依赖指主动断开依赖的资源,被排除的资源无需指定版本
1.2.3 依赖范围
依赖的 jar 包,默认情况下,可以在任何地方使用。可以通过<scope>..</scope>设置其作用范围
作用范围:
- 主程序范围有效(main文件夹范围内)
- 测试程序范围有效(test文件夹范围内)
- 是否参与打包运行(package指令范围内)
scope 取值:
1.2.4 生命周期
Maven 的生命周期就是为了对所有的 maven 项目构建过程进行抽象和统一
在同一套生命周期中,运行后面的生命周期阶段,前面的都会运行
Maven 中有3套相互独立的生命周期:
- clean:清理工作
- default:核心工作,如:编译、测试、打包、安装、部署等
- site:生成报告、发布站点等
2 Spring Boot Web
官网:Spring | Home
Spring Boot 可以快速的构建 Spring 应用程序、简化开发、提高效率
2.1 快速入门
在浏览器中输入
localhost:8080/hello
同时在控制台:
3 HTTP 协议
http://localhost:8080/hello
HTTP(Hyper Text Transfer Protocol),超文本传输协议,规定了浏览器和服务器之间数据传输的规则
特点:
- 基于 TCP 协议:面向连接,安全
- 基于请求-响应模型的:一次请求对应一次响应
- HTTP 协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的
优点:
- 速度快
缺点:
- 多次请求间不能共享数据
3.1 请求协议
3.2 响应协议
使用 SeverSocket 进行对从客户端发来的数据解析,根据 http 协议。
但是这样太繁琐,所以使用 Web 服务器,来自动解析
3.3 Tomcat
Web服务器是一个软件程序,对 HTTP 协议的操作进行封装,使得程序员不必直接对协议进行操作,让 web 开发更加便捷。主要功能是“提供网上信息浏览服务
Tomcat 又叫 Web 容器
官网:Apache Tomcat® - Welcome!
运行 Tomcat 的 startup.bat 文件
然后在浏览器访问:
把要运行的项目放在 Webapps 中,然后访问的时候加上
localhost:8080/demo/index.html