Tomcat 是一个 HTTP 服务器.
前面我们已经学习了 HTTP 协议, 知道了 HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式.
同时也通过 ajax 和 Java Socket 分别构造了 HTTP 客户端.
HTTP 服务器我们也同样可以通过 Java Socket 来实现. 而 Tomcat 就是基于 Java 实现的一个开源免费, 也是被广泛使用的 HTTP 服务器.
Tomcat是一种开源的Web服务器和Servlet容器,由Apache软件基金会开发和维护。它实现了Java Servlet和JavaServer Pages(JSP)规范,并提供了一个环境,使得Java代码可以在Web服务器上运行。Tomcat是一个轻量级的、快速的、可扩展的Web容器,适用于开发和部署Java Web应用程序。它通常与Apache HTTP服务器一起使用,作为后端Web服务器处理动态内容。Tomcat可以在多个平台上运行,包括Windows、Linux和Mac OS X等操作系统。
1.客户端发送HTTP请求到Web服务器。
2.Web服务器接收请求并将其交给Tomcat容器处理。
3.Tomcat容器调用相应的Servlet或JSP页面来处理请求。
4.处理器处理请求并生成响应结果。
5.Tomcat容器将响应结果返回给Web服务器。
6.Web服务器将响应结果返回给客户端。
具体的一个例子,我画个图大家理解一下
假设你是一位顾客,你到一家餐厅吃饭。餐厅就像一个Web服务器,你点的菜就像是客户端请求。当你点完菜后,服务员就会把你的订单传递给后厨,后厨就像是Tomcat容器,它接收到请求后会调用相应的Servlet或JSP页面来处理请求。在后厨里,厨师会根据你的要求进行烹饪,做好后再把菜送到你的桌子上。同样地,Tomcat容器会根据请求调用相应的Servlet或JSP页面来处理请求,处理完后再将结果返回给Web服务器。
Tomcat的安装分为
bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。
很多环境变量的设置都在此处,例如可以设置JDK路径、tomcat路径
startup 用来启动tomcat
shutdown 用来关闭tomcat
修改catalina可以设置tomcat的内存
conf目录主要是用来存放tomcat的一些配置文件。
server.xml可以设置端口号、设置域名或IP、默认加载的项目、请求编码
web.xml可以设置tomcat支持的文件类型
context.xml可以用来配置数据源之类的
tomcat-users.xml用来配置管理tomcat的用户与权限
在Catalina目录下可以设置默认加载的项目
lib目录主要用来存放tomcat运行需要加载的jar包。
例如,像连接数据库的jdbc的包我们可以加入到lib目录中来。
logs目录用来存放tomcat在运行过程中产生的日志文件,非常重要的是在控制台输出的日志。(清空不会对tomcat运行带来影响)
在windows环境中,控制台的输出日志在catalina.xxxx-xx-xx.log文件中
在linux环境中,控制台的输出日志在catalina.out文件中
temp目录用户存放tomcat在运行过程中产生的临时文件。(清空不会对tomcat运行带来影响)
webapps目录用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包、jar包的形式发布应用。
work目录用来存放tomcat在运行时的编译后文件,例如JSP编译后的文件。
清空work目录,然后重启tomcat,可以达到清除缓存的作用。
3.环境变量,找到path,加入tomcat的bin的目录