目录
1.Maven
Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具
开源项目:https:// www.apache.org/index.html#projects-list
1.1Maven的作用
①依赖管理:方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题
②统一项目结构:提供标准、统一的项目结构
③项目构建
1.2Maven介绍
Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM project object model)的概念,通过一小段描述信息来管理项目
官网: http:// maven.apache.org/
构建阶段:通过各种插件完成对应的功能。不同的阶段有不同的文件产生,比如编译阶段产生编译后的字节码产生,打包之后有对应的字节码文件...都放在target目录下。
项目生命周期:通过配置信息描述该maven功能。
依赖管理模型:导入对应的jar包
1.3Maven--idea集成
①配置Maven环境
在新建项目之后,点击File->project structure配置所关联的sdk以及project language level的版本都改为自己的jdk版本号。
在IDEA中 File --> Settings --> Build,Execution,Deployment --> Build Tools --> Maven指定Maven home path为自己的maven安装目录,并重新选择User Setting File为安装的maven->conf->setting.xml。并指定Maven下的Runner的jre版本以及Compiler下的project bytecode版本。
②创建Maven项目
Idea 2022.3的需要在new module里面选择Maven Archetype,然后在ArcheType一项中选择quickstart
③导入Maven项目
1.4maven--依赖管理
①依赖配置
先填写artifactId一项比较方便。
可以在maven repository官网里面添加搜索直接复制添加依赖的代码。
②依赖传递
直接依赖:是在当前项目中通过依赖配置建立的依赖关系,直接导入的jar包
间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源
排除依赖:主动断开依赖资源,被排除的资源无需指定版本。
③依赖范围
④生命周期
Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一。
Maven中有3套相互独立的生命周期:
- clean:清理工作。
- default:核心工作,如:编译、测试、打包、安装、部署等。
- site:生成报告、发布站点等。
每套生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段。
clean就是清除上一次maven项目中生成target文件;
compile就是编译生成target文件;
test就是执行测试;
package就是将该项目进行打包,生成jar包,打包后的文件存放在target目录下;
target是将打好的jar包安装到apache本地仓库。
执行后面的的阶段,前面的阶段也会执行,要是不想执行前面的阶段,可以通过选中不想执行的阶段,再点击Skip
生命周期各个阶段的执行是通过各个对应的插件执行的。
2.Web入门
Spring
官网: spring.io
Spring发展到今天已经形成了一种开发生态圈,Spring提供了若干个子项目每个项目用于完成特定的功能。
Spring Boot可以帮助我们非常快速的构建应用程序、简化开发、提高效率。
从Spring Boot开始,贯穿始终。
1.Springboot快速入门
创建SpringBoot项目时,SpringBoot3以上的版本需要JDK17以上。
若创建的SpringBoot项目没有.iml文件,首先鼠标选中对应的对应的模块 ,按两下Ctrl键,在project中选择对应的模块,运行mvn idea:module 命令即可。
若刚开始的注解报错,则在pom文件中进行一次刷新操作
2.Http协议
①概述
概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。
特点:
1.基于TCP协议:面向连接,安全
2.基于请求-响应模型的:一次请求对应一次响应
3. HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。
- 缺点:多次请求间不能共享数据。
- 优点:速度快
②请求协议
请求数据格式的组成:请求行,请求头,Post请求方式还有请求体
常见请求头:
③响应协议
HTTP响应格式:
常见状态码:
状态码大全:状态 | Status - HTTP 中文开发手册 - 开发者手册 - 腾讯云开发者社区-腾讯云
常见的响应头:
④协议解析
根据HTTP的请求格式来解析请求数据以及响应数据,解析HTTP协议可分为客户端以及服务端,客户端浏览器由各大厂商所提供了,内置了解析HTTP协议的程序,我们只需要在服务器端通过java程序来接收客户端浏览器发起的请求,并获取请求数据,再参照请求数据格式对协议进行解析并发回响应数据。
3.Tomcat
①介绍
Web服务器:Web服务器是一个软件程序,对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让web开发更加便捷主要功能是“提供网上信息浏览服务”。部署web项目,对外提供网上信息浏览服务。
概念:
- Tomcat是Apache 软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范。
- JavaEE: Java Enterprise Edition, Java企业版。指Java企业级开发的技术规范总和。包含13项技术规范:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java lDL、JTS、JTA、JavaMail、JAF
- Tomcat 也被称为web容器、Servlet容器。Servlet程序需要依赖于Tomcat才能运行
- 官网:https://tomcat.apache.org/
②基本使用
注意事项:HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号。
Tomcat部署项目:
将项目放置到webapps目录下,即部署完成
要想访问该项目,则启动tomcat,然后访问localhost:端口号(默认8080)。
③入门程序解析
Spring项目的创建基于Spring官方骨架(模板),所以需要联网操作。手动构建见day4资料。
起步依赖:创建Sringboot项目所选择以及自带的依赖。
官方提供的starter: https://docs.spring.io/spring-boot/docs/2.7.4/reference/htmlsingle/#using.build-systems.starters
web应用开发的起步依赖传递了tomcat依赖,所以在启动项目时,会自动启动内部的服务器