一、我的环境
操作系统:Windows 10
JDK版本:jdk-21
Tomcat版本: Tomcat 11.0 (alpha)
Tomcat环境没有搭建好的可以参考文章:Windows快速部署Tomcat环境
二、Tomcat简介
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。
Servlet 是 Server Applet 的缩写,译为“服务器端小程序”,是一种使用 Java 语言来开发动态网站的技术。
由于 Tomcat 本身也内含了一个 HTTP 服务器,它也可以被视作一个单独的 Web 服务器。但是,不能将 Tomcat 和 Apache HTTP 服务器混淆,Apache HTTP 服务器是一个用 C 语言实现的 HTTP Web 服务器;这两个 HTTP web server 不是捆绑在一起的。Tomcat 包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。
三、Tomcat目录
1、根目录结构
Tomcat安装好后,根目录结构如下:
说明:
/bin:Tomcat 脚本存放目录(如启动、关闭脚本)。 *.sh 文件用于 Unix 系统; *.bat 文件用于 Windows 系统。
/conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml。
/lib:存放Tomcat服务器所需的各种jar文件。
/logs:存放Tomcat执行时的日志文件。
/temp:存放Tomcat运行时产生的临时文件。
/webapps:当发布 Web 应用程序时,通常把 Web 应用程序的目录及文件放到这个目录下。
/work:Tomcat 将 JSP 生成的 Servlet 源文件和字节码文件放到这个目录下。
四、Tomcat基础使用
1、部署Web应用
将你的Web应用(包含WEB-INF目录)打包成.war文件,或直接放置在Tomcat的webapps目录下。
重启Tomcat,访问 http://localhost:8080/your-app-name(替换为实际应用名)
查看部署的应用。
2、管理与监控
访问http://localhost:8080/manager/html
,使用默认用户名(admin)和密码(admin或tomcat,视版本而定)登录Tomcat Manager界面,进行应用部署、启动、停止、删除等操作。
访问http://localhost:8080/monitoring
,查看Tomcat的内存、线程池、请求统计等监控信息。
五、Tomcat进阶配置
1、配置文件
/conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml。
server.xml:全局配置文件,定义Service、Connector、Engine、Host等组件。
web.xml:全局Web应用部署描述符,定义Servlet、Filter、Listener等默认配置。
context.xml:全局Context配置,应用于所有Web应用。
Catalina/localhost/your-app-name.xml(conf/Catalina/localhost/your-app-name.xml):特定Web应用的Context配置。
2、自定义端口与主机名
在server.xml中修改Connector元素的port属性,例如将HTTP端口改为8888:
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
3、虚拟主机配置
在server.xml中添加新的Host元素,定义域名和应用目录:
<Host name="www.example.com" appBase="webapps/example">
<Context path="" docBase="/path/to/app" />
</Host>
六、问题解决
1、运行 startup.bat 出现乱码
如图:
解决方法:修改 conf 目录下的 logging.properties,把UTF-8改成GBK
# java.util.logging.ConsoleHandler.encoding = UTF-8
java.util.logging.ConsoleHandler.encoding = GBK
---- 参考文档 ----
【学习笔记】Servlet容器(Web容器)简介
Tomcat从入门到精通:全方位深度解析与实战教程
Tomcat 教程(简单 易入手)