Tomcat概述
Tomcat安装
Windows
解压apache-tomcat-9.0.40.zip压缩包
启动tomcat服务器
1. 进入bin目录
2. 点击startup.bat文件,开启服务器
3. 在浏览器访问http://localhost:8080
关闭服务器
- 正常关闭:找到bin/shutdown.bat文件
- 非正常关闭:直接点击窗口关闭按钮,或按Ctrl+C
Linux
上传并解压apache-tomcat-9.0.40.tar.gz包。我习惯把开发相关软件放在根目录的/software
目录下
tar -zxvf apache-tomcat-9.0.40.tar.gz
进入bin目录,启动tomcat服务器,然后浏览器访问 http://localhost:8080
./startup.sh
如果拒绝访问,可能是Linux防火墙的问题,关闭防火墙再试一下。
systemctl stop firewalld.service
关闭tomcat服务器
./shutdown.sh
MacOS
在用户目录下新建一个sowftware
文件夹,把下载的安装包复制到这个目录并解压。
tar -zxvf apache-tomcat-9.0.40.tar.gz
把apache-tomcat-9.0.40权限设置为777,表示具备所有权限
chmod -R 777 /home/用户名称/software/apache-tomcat-9.0.40
进入bin目录,启动tomcat服务器,在浏览器中访问 http://localhost:8080
./startup.sh
Tomcat配置
配置端口号
1.打开tomcat\conf\server.xml文件
2.找到<Connector>标签,该标签下有一个port属性可以配置端口号
默认端口号为8080
如果改成80端口,则在浏览器访问时可以省略端口号
配置虚拟路径
1.打开配置tomcat\conf\server.xml文件
2.找到<Host>标签体,进入如下配置
<Context docBase="D:\hello" path="/hehe" />
- docBase:项目存放的路径
- path:虚拟目录(浏览器访问的路径)
I
web项目结构
Web项目有它特有的目录结构,主要指供浏览器访问的应用程序,通常也称为Web应用。一个Web应用中包含多个动态资源和静态资源组成。
IDEA创建web项目
在idea中新建Java Enterprise
模块,如图所示选择jdk版本,tomcat版本等,填写项目名称,点击【next】
依次点击【Apply】【OK】
打开index.jsp页面,随便写一点文字,这些文字将会在浏览器显示。
IDEA发布web项目
发布Web项目指,把web项目发布到tomcat服务器,使其可以通过浏览器访问。进入tomcat配置界面,如图进行配置。然后使用浏览器访问 http://localhost:8080/web_demo
IDEA打war包发布
打开项目结构页面,选择Artifacts,如图所示进行配置
回到主界面,如果所示,点击菜单栏的【build】选项,再点击【Build Artifacts】,选择刚刚配置的包名称,再点击【Build】就可以进行打包。打包后的文件默认在项目的out\artifacts
目录下

把war包,放到tomcat的webapps目录下,重启tomcat就会自动解压,完成发布。
HTTP协议
HTTP(全称Hyper Text Transfer Protocol) 超文本传输协议,定义了客户端和服务器端通信时,数据交互的格式。
1. 基于TCP/IP的高级协议
2. 默认端口号:80
3. 基于请求/响应模型的: 一次请求对应一次响应
- HTTP协议规定了客户端向服务器发送数据的格式,叫做HTTP请求
- HTTP协议规定了服务器向客户端返回数据的格式,叫做HTTP响应
HTTP请求格式
HTTP协议规定了客户端发给服务器的数据格式,包含4个部分,分别是【请求行】【请求头】【请求空行】【请求体】
【请求行】: 描述请求方式、请求URL、以及HTTP版本
请求方式一共有8种,这里只了解常用的只有两种GET和POST(不区分大小写)
GET请求:请求参数拼接在请求行上,在浏览器地址栏看见。
POST请求:请求参数会被封装在请求体重,在浏览器地址栏看不见。
【请求头】: 描述客户端浏览器告诉服务器若干配置信息
【空行】: 用于分割请求头与请求体
【请求体】:用于封装POST请求消息的请求参数;GET请求没有请求体数据
GET请求格式
POST请求格式

HTTP响应格式
HTTP协议规定服务器发给客户端的数据格式,包含4个部分,分别是【响应行】【响应头】【空行】【响应体】
【响应行】:由HTTP协议版本、响应状态吗、状态码描述组成
【响应头】:若干个键-值对组成,是服务器用来告诉客户端浏览器一些配置信息。
【空行】:用于分隔响应头和响应体
【响应体】:其实就一个HTML页面中的内容包括标签、CSS样式、JS等等

响应状态码
服务器给客户端响应数据时,会携带着告诉浏览器当前数据的一个状态码,通过状态码告诉客户端请求成功、请求失败、找不到资源、请求重定向等等。客户端可以通过判断状态码,做出针对性的数据处理。
常见响应头
响应头是由一系列的键值对组成,是服务器用来告诉客户端浏览器一些配置信息。