maven:
maven依赖范围:
依赖的jar包,默认情况下,可以在任何地方使用。可以通过<scope>…</scope>
设置其作用范围
作用范围:
- 主程序范围有效(main文件夹范围内)
- 测试程序范围有效(test文件夹范围内)
- 是否参加打包运行(package指令范围内)
scope值 | 主程序 | 测试程序 | 打包(运行) | 范例 |
---|---|---|---|---|
compile(默认) | Y | Y | Y | log4j |
test | – | Y | – | junit |
provided | Y | Y | – | servlet-api |
runtime | – | Y | Y | jdbc驱动 |
生命周期:
maven的生命周期是为了对所有的maven项目构建过程进行抽象和统一
maven中有3套相互独立的生命周期:
1. clean:清理工作
2. default:核心工作,如:编译、测试、打包、安装、部署等
3. site:生成报告、发布站点等
注意:在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行
生命周期阶段:
- clean:移除上一次构建生成的文件
- compile:编译项目源代码
- test:使用合适的单元测试框架运行测试(junit)
- package:将编译后的文件打包,如:jar、war等
- install:安装项目到本地仓库
HTTP:
概念:
超文本链接协议,规定了浏览器和服务器之间数据传输的规则
特点:
- 基于TCP协议:面向连接,安全
- 基于请求-响应模型 的:一次请求对应一次响应
- HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应 都是独立的
缺点:多次请求间不能共享数据
优点:速度快
HTTP请求数据格式:
- 请求行:请求数据第一行(请求方式、资源路径、协议)
- 请求头:第二行开始,格式 key:value
- Host:请求的主机名
- User-Agent:浏览器版本,
>例如Chrome浏览器的表示类似Mozilla/5.0…Chrome/79,
>IE浏览器的标识类似Mozilla/5.0(windowsNT…)like Gecko - Accept:表示浏览器能接收的资源类型,如 text/,image/ 或者 / 表示所有
- Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页
- Accept-Encoding:表示浏览器可以支持的压缩类型,例如:gzip,deflate等
- Content-Type:请求主体的数据类型
- Content-Length:请求主体的大小(单位:字节)
- 请求体:POST请求,存放请求参数。跟请求头有一个空行隔开
请求方式-GET:请求参数在请求行中,没有请求体,如:/brand/findAll?name=OPPO&status=1
请求方式-POST:请求参数在请求体中,POST请求大小是没有限制的
HTTP相应格式:
- 响应行:响应数据第一行(协议、状态码、描述)
- 响应头:第二行开始,格式 key-value
- 响应体:最后一部分,存放响应数据。跟响应头有一个空行隔开
- 1XX:响应中-临时状态码,表示请求已经接受,告诉客户端应该继续请求,或者 如果它已经完成则忽略它
- 2XX:成功-表示请求已经被成功接收,处理已完成
- 3XX:重定向-重定向到其他地方;让客户端再发起一次请求以完成整个处理
- 4XX:客户端错误-处理发生错误,责任在客户端。如:请求了不存在的资源、客户端未被授权、禁止访问等
- 5XX:服务器错误-处理发生错误,责任在服务端。如:程序抛出异常等
- 200:客户端请求成功,即处理成功
- 404:请求资源不存在,一般是URL输入有误,或者网站资源被删除了
- 500:服务器发生不可预期的错误,服务器出异常了,要查看日志
Content-Type:表示该相应内容的类型,例如text/html,applicantion/json
Content-Length:表示该i相应内容的长度(字节数)
Conten-Encoding:表示该响应压缩算法,例如gzip
Cache-Control:指示客户端应如何缓存,例如max-age=300
表示可以最多缓存300秒
Set-Cookie:告诉浏览器未当前页面所在的域设置cookie
Web服务器:
Web服务器是一个软件程序,对HTTP协议的操作进行封装,简化web程序开发,使得程序员不必直接对协议进行操作,让Web开发更加便捷,主要功能是”部署web项目,对外提供网上信息浏览服务”
Tomcat(win系统下操作):
一个轻量级的web服务器,支持servlet、jsp等少量javaEE规范。也被称为web容器、servlet容器
目录:
bin:可执行文件
conf:配置文件
lib:Tomcat依赖的jar包
logs:日志文件
temp:临时文件
webapps:应用发布目录
work:工作目录
启动:
双击bin\startup.bat
控制台中文乱码:修改conf/logging.properties文件
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OnewLineFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8 -->改为 = GBK
关闭:
- 直接关掉运行窗口:强制关闭
- bin\shutdown.bat:正常关闭
- Ctrl+C:正常关闭
常见问题:
- 启动窗口一闪而过:检查JAVA_HOME环境变量是否正确配置
- 端口号冲突:找到对应程序,将其关闭掉,或者修改Tomcat端口号(conf/serve.xml)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectProt="8843" />