Tomcat 核心配置解析:4 大文件、乱码处理、端口与 Manager 配置

简介: 本文详解Tomcat四大核心配置文件(context.xml、web.xml、server.xml、tomcat-users.xml)功能与配置要点,涵盖控制台乱码解决、端口修改、Manager管理界面启用及用户权限配置,助你扎实掌握Tomcat运维关键技能。

💡【开发哲学共勉】
Tomcat 配置如搭积木:context.xml 是地基、server.xml 是框架、web.xml 是装饰、tomcat-users.xml 是门禁卡 —— 技术搭建和盖楼同理,稳了才能扛住业务

前言

本文主要讲解Tomcat的4 大文件、乱码处理、端口与 Manager 配置,旨在让读者更好的理解和掌握Tomcat的核心配置

个人主页:艺杯羹

系列专栏:Servlet

1. 📄Tomcat配置文件介绍

先介绍一下Tomcat的配置文件

Tomcat 的配置文件由4个xml组成,分别是 context.xml、web.xml、server.xml、tomcat-users.xml。每个文件都有自己的功能与配置方法

context.xml
context.xml 是 Tomcat 公用的环境配置。 Tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器
唯一 一个不需要修改配置文件后保存,其他的修改了想要生效,就要重启Tomcat

web.xml
Web应用程序描述文件,都是关于是Web应用程序的配置文件。所有Web应用的 web.xml 文件的父文件。web项目部署描述文件

server.xml
是 tomcat 服务器的核心配置文件,server.xml的每一个元素都对应了 tomcat中的一个组件,通过对xml中元素的配置,实现对 tomcat中的各个组件和端口的配置。

tomcat-users.xml
配置访问Tomcat的用户以及角色的配置文件

表格总结

配置文件

作用与特点

context.xml

Tomcat 公用环境配置,修改后自动重新加载,无需重启服务器

web.xml

Web 应用程序描述文件,是所有 Web 应用 web.xml 的父文件,用于部署描述

server.xml

Tomcat 核心配置文件,通过配置元素对应组件,实现对服务器组件和端口的配置

tomcat - users.xml

配置访问 Tomcat 的用户及角色的文件

2. 🔤解决控制台乱码

像在java项目等等的场景出现乱码一般都是因为编码不匹配所导致的

控制台产生乱码的原因是在Tomcat在输出日志中使用的是UTF-8编码,而我们中文的Windows操作系统使用的是GBK编码(国内汉字编发方式)。由于编码格式不统一,所以出现了乱码。

解决方式:
修改 conf目录中的 logging.properties文件重新指定的编码方式

java.util.logging.ConsoleHandler.encoding = GBK


3. 🔌修改Tomcat监听端口

Tomcat默认监听端口为8080。可以通过conf 修改server.xml文件来改变Tomcat的监听端口。
注意这个要重启Tomcat才能生效

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

4. 🎛️配置Tomcat Manager

Tomcat Manager是Tomcat自带的Web应用
用于管理Tomcat自身及部署在其上的Web应用,支持部署/取消部署应用、查看应用状态、 reload应用、操作应用启停等,需配置特定角色(如manager - gui等 )授权访问 。

无论点哪个都会出现登录界面
没有用户,所以要配置

4.1. 🔑配置Tomcat Manager的访问用户

Tomcat Manager中没有默认用户,我们需要在tomcat-users.xml文件配置
Tomcat Manager的用户配置需要配置两个部分
角色配置、用户名及密码配置

Tomcat Manager中的角色分类(rolename)

  • manager-gui角色:
    允许访问HTML GUI和状态页面  ( 即URL路径为/manager/html/* )
  • manager-script角色:
    允许访问文本界面和状态页面  ( 即URL路径为/manager/text/* )
  • manager-jmx角色:
    允许访问JMX代理和状态页面  ( 即URL路径为/manager/jmxproxy/* )
  • manager- status角色:
    仅允许访问状态页面  (即URL路径为/manager/status/*)

4.2. 👥配置用户及角色

配置用户和角色就要修改 conf(配置文件目录) 下的 tomcat-users.xml 中的 roleuser 标签

<role rolename ="manager-gui"/> 
<user username ="luoyi" password ="88888" roles="manager-gui" />

4.3. 🚪解除本机访问限制

如果用本机的IP来访问例如:192.168.2.105
则会出现限制

进入Tomcat的webapps目录下,打开 webapps / manager / META-INF / context.xml文件,修改下面这段配置

<context antiresourcelocking="false" privileged="true">
<!-- 把下面这段注释掉 -->
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
</context>
![](https://cdn.nlark.com/yuque/0/2026/png/52846103/1787193153005-d1c26320-ce94-47ba-9168-fb282a5bb82f.png)

5. 📌总结

希望能够帮助到你(๑•̀ㅂ•́)و✧

目录
相关文章
|
1天前
|
前端开发 Java 测试技术
Maven 之工程构建与依赖管理全攻略
本文系统讲解Maven核心知识:涵盖POM/JAR/WAR工程类型与标准目录结构;详解构建生命周期(validate→compile→test→package→install→deploy)及常用命令;深入解析本地/远程/中央仓库机制,并指导配置本地仓库路径、阿里云镜像及JDK版本。内容精炼实用,助开发者快速掌握Maven项目管理精髓。
34 1
Maven 之工程构建与依赖管理全攻略
|
1天前
|
Java 应用服务中间件 数据库连接
Maven 之工程化开发核心指南:插件配置、pom 文件与依赖管理
本文详解Maven工程化开发核心:从IDEA中Maven插件配置、Web项目创建与目录结构搭建,到pom.xml关键配置(坐标、properties、dependencies、plugins)、依赖范围(provided等)原理与实战,助你掌握工程化思维,高效构建Java项目。(239字)
26 1
Maven 之工程化开发核心指南:插件配置、pom 文件与依赖管理
|
1天前
|
SQL 安全 Java
MyBatis 动态 SQL:让 SQL 语句随条件灵活变化
本文详解MyBatis动态SQL核心标签:`&lt;if&gt;`条件判断、`&lt;where&gt;`智能拼接、`&lt;set&gt;`安全更新、`&lt;choose&gt;`多选一、`&lt;foreach&gt;`遍历集合,结合代码与图示,助你告别硬编码,一个方法搞定多条件查询与批量操作。(239字)
19 0
MyBatis 动态 SQL:让 SQL 语句随条件灵活变化
|
1天前
|
SQL 缓存 Java
MyBatis 之缓存机制核心解析
本文由艺杯羹撰写,系统讲解MyBatis缓存机制:一级缓存(SqlSession级、默认开启、存对象)与二级缓存(Mapper级、需手动配置、存序列化数据),涵盖原理、配置、清空时机及适用场景,助力高效开发。
22 0
MyBatis 之缓存机制核心解析
|
1天前
|
前端开发 中间件 网络安全
PageAdmin CMS实现后台内网和前台外网分离部署的教程
本项目基于PageAdmin CMS平台版构建市级政务站群,后台部署于内网麒麟V10服务器,前端HTML静态化生成并推送至对外服务器;集成人大金仓数据库、中创中间件及阿里云OSS存储,通过lsyncd实现安全高效的跨服务器文件同步。
|
1天前
|
弹性计算 NoSQL 网络安全
怎么在阿里云计算巢部署 TuGraph 图数据库?如何申请免费试用
TuGraph是蚂蚁集团研发的高性能图数据库,支持万亿级图数据处理与毫秒级复杂查询。现通过阿里云计算巢提供社区版免费试用,一键部署、免运维,含可视化控制台与丰富API,助力快速构建图应用。阿里云计算巢官网:https://t.aliyun.com/U/PEl9rE
29 0
|
1天前
|
数据采集 机器学习/深度学习 人工智能
草莓成熟度目标检测数据集:3类别、2,000张图像 | 目标检测
本数据集含2000张草莓图像,标注未成熟、成熟、过熟三类目标,适配YOLO等模型,覆盖大棚/田间多环境与光照条件,支持智慧采摘、产量预测与品质分级,助力农业视觉AI落地。(239字)
31 0
|
1天前
|
人工智能 C语言
二级C语言题解:十进制转其他进制、非素数求和、重复数统计
本文详解三类经典编程题:十进制转任意进制(填空)、非素数求和(修改)与重复数字统计(设计),含完整代码、逐空分析及易错点解析,助你夯实C语言基础。
23 2
二级C语言题解:十进制转其他进制、非素数求和、重复数统计
|
1天前
|
C语言 数据安全/隐私保护
二级C语言题解:二维数组每行最大值与首元素交换、删除结构体的重复项、取出单词首字母
本教程专为C语言二级考生、中职学生及编程初学者设计,涵盖三大核心题型:二维数组每行最大值与首元素交换、结构体重复项删除(保留首个)、字符串单词首字母提取。含详细分析、易错点解析与标准代码,助你夯实基础、提升解题思维。
31 2
二级C语言题解:二维数组每行最大值与首元素交换、删除结构体的重复项、取出单词首字母
|
1天前
|
SQL Java 数据库连接
MyBatis 之基础概念与框架原理详解
MyBatis是一款轻量级半自动ORM框架,封装JDBC,让开发者专注SQL编写与业务逻辑;支持XML/注解配置、动态SQL、高级映射,SQL与代码分离,灵活高效,显著提升持久层开发效率。(239字)
29 1
MyBatis 之基础概念与框架原理详解

热门文章

最新文章