Tomcat服务器
目录结构
bin:启动关闭的脚本文件
conf:配置文件
lib:依赖的jar包
logs:日志文件
webapps:存放网站的文件夹
配置
- 服务器核心配置文件:conf/server.xml
---默认端口号---
tomcat:8080
MySQL:3306
http:80
https:443
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
- 可以配置主机的名称
- 默认主机名:localhost或127.0.0.1
- 默认网站应用存放位置:webapps
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
- 谈谈网站是如何进行访问的
- 输入域名,提交
- 检查本机的C:\Windows\System32\drivers\etc\hosts文件有没有这个域名映射
1.有,直接返回ip地址
2.没有,去DNS服务器查询,有则返回,无则没有找到
发布一个web网站
- 将自己写的网站,放到服务器(tomcat)中指定的web应用的文件夹下(webapps)下,就可以访问了
- 网站应该有的结构
-- webapps :Tomcat服务器的web目录
-ROOT
-test
- WEB-INF
-classes:java程序
-lib:web应用所依赖的jar包
-web.xml:网站配置文件
- index.html:默认首页
- static
- css
- style.css
- js
- img
- ...
Http
什么是Http
- HTTP(超文本传输协议)是一个简单的请求-响应协议,通常运行在tcp之上
文本:html,字符串
超文本:图片,音乐,视频,定位,地图
默认端口:80
Https:安全的Http协议
默认端口:443
两个时代
- http1.0
- HTTP/1.0:客户端可以与web服务器连接后,只能获得一个资源,断开连接
- http2.0
- HTTP/1.1:客户端可以与web服务器连接后,只能获得多个资源。
Http请求
- 浏览器请求服务器
- 以百度为例
---请求行---
Request URL: https://www.baidu.com/
Request Method: GET
Status Code: 200 OK
Remote Address: 36.152.44.95:443 //远程地址和端口
---请求头---
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cache-Control: max-age=0
Connection: keep-alive
1.请求行
- 请求方式:Get,Post等等
- get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效
- post:请求能够携带的参数无限制,大小无限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效
2.请求头
Accept: 告诉浏览器,它所支持的数据类型
Accept-Encoding: 支持哪种编码格式
Accept-Language: 告诉浏览器它的语言环境
Cache-Control: 缓存控制
Connection: 请求完成后是断开还是保持连接
Http响应
Cache-Control: private
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
1.响应头
Accept: 告诉浏览器,它所支持的数据类型
Accept-Encoding: 支持哪种编码格式
Accept-Language: 告诉浏览器它的语言环境
Cache-Control: 缓存控制
Connection: 请求完成后是断开还是保持连接
HOST:主机..../.
Refresh:告诉客户端多久刷新一次
Location:让网页重新定位
2.响应状态码
- 200:请求响应成功
- 3xx:请求重定向
- 重定向:让访问者到我给你的另一个地址去
- 4xx:找不到资源
-
5xx:服务器代码错误
- 500:服务器内部错误
- 502:网关错误
-
常见面试题:当浏览器地址栏输入地址并回车的一瞬间到页面成功展示,经历了什么
Maven
- 在JavaWeb中,需要使用大量的jar包,我们需要手动导入
- Maven就是一个自动导入和配置jar包的项目架构管理工具
Maven基础
- Maven核心思想:约定大于配置(有约束,不能违反)
- Maven会规定好你该如何去编写Java代码
- Maven的高级之处在于,他会帮你导入某个JAR包所依赖的其他JAR
- 官方网站:https://maven.apache.org
配置环境变量
- 在系统环境变量中,配置
- M2_HOME:maven目录下的bin目录
- MAVEN_HOME:maven的目录
- 在系统的path中配置:%MAVEN_HOME%\bin
- 测试是否配置成功,命令行:
mvn -version
阿里云镜像
- 镜像:mirrors,用于加速下载
- 国内建议使用阿里云的镜像
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
本地仓库
- 建立本地仓库
<localRepository>F:\Environment\apache-maven-3.6.3\maven-repo</localRepository>