最全Tomcat入门指南

Tomcat是什么?

Tomcat是web容器 。你在做web项目时,多数需要http协议,也就是基于请求和响应,比如你在百度输入一行内容搜索,那么百度服务器如何处理这个请求呢,他需要创建servlet来处理,servlet其实就是JAVA程序,只是在服务器端的java程序servlet通过配置文件拦截你的请求,并进行相应处理,然后展示给你相应界面,那么servlet如何创建?
这时候tomcat用到了,它就是帮助你创建servlet的东西,所以也称web容器,没有它,没法运行web项目 。相对应的web容器有很多,比如JBOSS,WEBLOGIC等 。
Tomcat是一个应用服务器 。他可以运行你按照J2EE中的Servlet规范编写好的Java程序 。
简单的说它是一个Web网站的运行容器,把你写好的网站放进去就可以运行 。
搭配视频观看效果更佳~~
https://www.ixigua.com/6903321523554091533
一、网络协议/网络协议包在互联网通信过程中,在网络传递信息都是二进制形式 。
此时接收方接收到信息之后必须进行一次解析 。
但是由于传递信息量相对较大,增加接收方解析难度
浏览器:
http://localhost:8080/myWeb/index.html
1010101010101010101011111000110101010
网络协议包:
一组有规律二进制数据,存在固定空间 。在指定空间下专门存放指定数据,降低接收方解析难度
0000 服务端计算机ip地址 0000 Http服务器端口号 0000 资源文件 0000
二、Http网络协议包:在B/S通信结构下,浏览器发送请求信息以及服务端返回资源文件内容都是通过Http网络协议包进行传递
三、Http网络协议包分类:1.Http请求协议包:
1)在浏览器准备发送请求时,负责生成一个Http请求协议包
2) 在浏览器准备发送请求时,负责将请求信息写入Http请求协议包
3)由浏览器负责推送Http请求协议包
2.Http响应协议包:
1)在Http服务器准备返回结果时,负责生成一个Http响应协议包
2)由Http服务器调用输出流将文件内容(文字,数字,像素,帧,命令)以二进制形式写入到Http响应协议包
3) 由Http服务器负责将Http响应协议包推送回发起请求的浏览器
四、Http请求协议包内部结构:自上而下分为4层结构 【背】1. 请求行:

url:请求地址
method:请求方式

2.请求头:

如果浏览器以GET方式发送请求
请求参数存放在请求头

3.空白行:


4.请求体:

如果浏览器以POST方式发送请求
请求参数存放在请求体

五、Http响应协议包内部结构 自上而下分为4层结构 【背】1. 状态行:

Http状态码

2. 响应头:

content-type:指定浏览器使用对应解析器或则编译器
对返回二进制数据进行解析或则编译

3. 空白行:


4.响应体:

本次索要文件内容(二进制形式存放)

六、Http服务器介绍1.所有的Http服务器都是由java编程语言开发应用程序
2.Http服务器可以接收由浏览器发动的Http请求协议包
3.Http服务器可以解析Http请求协议包二进制数据了解用户请求
4.Http服务器可以自动定位被访问的资源文件
5.Http服务器可以自动将被访问文件内容或则文件运行结果通过输出流以二进制形式写入到Http响应协议包中响应体
6.Http服务器可以自动将Http响应协议包推送回发起请求的浏览器
七、Http服务器分类:1.功能最强---Websphere
2.功能最新---GlassFish
3.最轻量级---tomcat
八、tomcat服务器安装与配置1.tomcat服务器下载:
https://tomcat.Apache.org/
2.tomcat安装:tomcat9.0版本是绿色免安装版
3.tomcat配置:
1)JAVA_HOME环境变量: 用于向tomcat服务器提供当前计算机中JDK位置
JAVA_HOME=C:Program FilesJavajdk1.8.0_101
2) CATALINA_HOME环境变量:通知本次启动的tomcat服务器存放位置
CATALINA_HOME=C:tomcat9
九、tomcat服务器启动与关闭1.tomcat服务器启动时生成一个管理对象 。如果手动关闭,时间一长 。
这个管理对象将脱离管理,导致无法再次启动tomcat
2.管理命令位置: tomcat安装地址/bin文件夹
3.启动tomcat命令: startup
4.关闭tomcat命令: shutdown
十、tomcat服务器启动失败原因1.忘记配置JAVA_HOME
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
2.JAVA_HOME地址写错了


推荐阅读