Tomcat之配置文件详解

news2024/11/26 2:00:03

Tomcat 目录

安装好 Tomcat 后,打开它的文件夹,可以看到以下目录

bin:存放各种启动、关闭和其它程序的脚本

conf:配置文件及相关数据文件存放的目录

lib:Tomcat 使用的库文件存放的目录,如存放 Servlet 规范的 API

logs:默认日志文件存放的目录,如存放访问日志

temp:临时文件的工作目录,如上传大文件时的缓存数据会存储在这里

webapps:存放 web 应用、用来程序部署的目录

work:Tomcat 的工作目录,如存放 JSP 编译后的类文件

配置文件

catalina.policy:Java 的安全策略配置文件,用于配置访问 codebase(代码库)或某些 Java 类的权限

catalina.properties:Java 属性定义文件,设定类加载器路径、安全包列表和一些调整性能的参数信息

context.xml:为部署与此 Tomcat 实例上的 web 应用程序提供的默认配置文件

logging.properties:定义日志相关的配置信息,如日志级别、文件路径等

server.xml:Tomcat 核心配置文件

tomcat-users.xml:包含 Realm 认证时用到的相关角色、用户和密码等信息

web.xml:为部署与 Tomcat 实例上的所有 web 应用程序提供部署描述符

server.xml 详解

        Server是server.xml的根元素,用于创建一个Server实例,默认使用的实现类是 org.apache.catalina.core.StandardServer

标签属性和子元素

        port:Tomcat 监听的关闭服务器的端口。

        shutdown:关闭服务器的指令字符串。

        Server内嵌的子元素为 Listener、GlobalNamingResources、Service。

Listener

VersionLoggerListener:用于以日志形式输出服务器 、操作系统、JVM的版本信息
AprLifecycleListener:用于加载(服务器启动) 和 销毁 (服务器停止) APR。 如果找不到APR库, 则会输出日志, 并不影响Tomcat启动
JreMemoryLeakPreventionListener:用于避免JRE内存泄漏问题
GlobalResourcesLifecycleListener:用户加载(服务器启动) 和 销毁(服务器停止) 全局命名服务
ThreadLocalLeakPreventionListener:用于在Context停止时重建Executor 池中的线程, 以避免ThreadLocal 相关的内存泄漏

GlobalNamingResources

 可编辑的用户数据库,UserDatabaseRealm也可以使用该数据库对用户进行身份验证

Service

 默认情况下,Tomcat 仅指定了Service 的名称, 值为 “Catalina”。Service 可以内嵌的元素为 : Listener、Executor、Connector、Engine,其中 : Listener 用于为Service添加生命周期监听器, Executor 用于配置Service 共享线程池,Connector 用于配置Service 包含的链接器, Engine 用于配置Service中链接器对应的Servlet 容器引擎。一个Server服务器,可以包含多个Service服务

tomcat-users.xml 详解

        该配置文件中,主要配置的是Tomcat的用户,角色等信息,用来控制Tomcat中 host-manager、manager的访问权限

        tomcat:用于控制页面访问权限。

        roles1:用于控制以简单文本的形式进行访问

web.xml 详解

web.xml 是web应用的描述文件, 它支持的元素及属性来自于Servlet 规范定义

ServletContext初始化参数
<context‐param>
	<param‐name>contextConfigLocation</param‐name>
	<param‐value>classpath:applicationContext‐*.xml</param‐value>
	<description>Spring Config File Location</description>
</context‐param>
  • param‐name:初始化参数名称。
  • param‐value:初始化参数的值。
  • description:这个参数的描述信息
会话配置

用于配置Web应用会话,包括 超时时间、Cookie配置以及会话追踪模式。它将覆盖server.xml 和 context.xml 中的配置

<session-config>
	<session-timeout>30</session‐timeout>
	<cookie-config>
		<name>JESSIONID</name>
		<domain>www.baidu.cn</domain>
		<path>/</path>
		<comment>Session Cookie</comment>
		<http-only>true</http‐only>
		<secure>false</secure>
		<max-age>3600</max‐age>
	</cookie‐config>
	<tracking-mode>COOKIE</tracking‐mode>
</session‐config>
Servlet配置
<servlet>
	<servlet-name>myServlet</servlet‐name>
	<servlet-class>com.caochenlei.MyServlet</servlet‐class>
	<init-param>
		<param-name>fileName</param‐name>
		<param-value>init.conf</param‐value>
	</init‐param>
	<load-on-startup>1</load‐on‐startup>
	<enabled>true</enabled>
</servlet>
<servlet-mapping>
	<servlet-name>myServlet</servlet‐name>
	<url-pattern>*.do</url‐pattern>
	<url-pattern>/myservet/*</url‐pattern>
</servlet‐mapping>
Listener配置

Listener用于监听servlet中的事件

<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener‐class>
</listener>
Filter配置

filter 用于配置web应用过滤器, 用来过滤资源请求及响应。 经常用于认证、日志、加密、数据转换等操作

<filter>
	<filter-name>myFilter</filter‐name>
	<filter-class>com.caochenlei.MyFilter</filter‐class>
	<async-supported>true</async‐supported>
	<init-param>
		<param-name>language</param‐name>
		<param-value>CN</param‐value>
	</init‐param>
</filter>
<filter-mapping>
	<filter-name>myFilter</filter‐name>
	<url-pattern>/*</url‐pattern>
</filter‐mapping>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/740434.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

centos 配置好网络后无法ping 通百度

问题&#xff1a; ping 自己配置的ip地址能够ping通&#xff0c;ping 连接的WiFi &#xff08;可以上外网&#xff09;地址也能ping通&#xff0c;但是ping www.baidu.com 却ping不同&#xff1b; 配置 处理方法&#xff1a; 我的虚拟机开通了三张网卡&#xff0c;150段…

更新NGINX域名证书文件

背景&#xff1a; 由于域名正式认证即将要到期&#xff0c;需要更新基于nginx的域名证书文件。 一、更新nginx域名证书文件 1、查看对应域名使用的正式文件名 # 查看使用的域名证书文件 # 我的环境配置https的nginx相关配置文件是&#xff1a;ierp_https.confcat /usr/loca…

Vue3+Vite+Pinia+Naive后台管理系统搭建之二:scss 的安装和使用

前言 如果对 vue3 的语法不熟悉的&#xff0c;可以移步 Vue3.0 基础入门&#xff0c;快速入门。 1. 安装依赖 yarn add sass -D // or npm install sass -D 2. 页面样式初始化 reset.scss /* 新建 src/assets/style/reset.scss */ /* 页面样式初始化 */ html, body, div, s…

前端Vue自定义水平步骤条组件

随着技术的发展&#xff0c;开发的复杂度也越来越高&#xff0c;传统开发方式将一个系统做成了整块应用&#xff0c;经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改&#xff0c;造成牵一发而动全身。 通过组件化开发&#xff0c;可以有效实现…

edk2 security boot校验流程

edk2整体架构 关于安全校验的核心逻辑 Code\Edk2\MdeModulePkg\Universal\SecurityStubDxe\SecurityStub.c Status gBS->InstallMultipleProtocolInterfaces (&mSecurityArchProtocolHandle,&gEfiSecurity2ArchProtocolGuid,&mSecurity2Stub,&gEfiSecurit…

神经网络架构设计常见问题及解答

如果你是人工神经网络 (ANN) 的初学者&#xff0c;你可能会问一些问题。 比如要使用的隐藏层数量是多少&#xff1f; 每个隐藏层有多少个隐藏神经元&#xff1f; 使用隐藏层/神经元的目的是什么&#xff1f; 增加隐藏层/神经元的数量总是能带来更好的结果吗&#xff1f; 使用什…

JAVA_SE 银行存钱(控制台程序)

仓库地址&#xff1a;https://gitee.com/ThMyGitee/Bank.git CSDN的友友们&#xff0c;项目如果适合您的话&#xff0c;麻烦给个小小的Star&#xff0c;谢谢啦&#xff01; JAVA_SE 银行存钱(控制台程序) 1.流程图 2.开发环境 JDK1.8 IDEA 2019.33.界面运行 模拟转账业务&…

复习V2+V3之——02 事件处理

事件处理 事件的基本使用 1.使用v-on:xxx 或者 xxx 绑定事件&#xff0c;其中xxx是事件名 一般来说用 xxx 这种方式多一点 2.事件的回调函数需要配置在 methods 对象中&#xff0c;最终会在 vm 上面 3.methods中配置的函数&#xff0c;不要用箭头函数&#xff01;否则this…

python爬虫哪个库用的最多

目录 常用的python爬虫库有哪些 1. Requests&#xff1a; 2. BeautifulSoup&#xff1a; 3. Scrapy&#xff1a; 4. Selenium&#xff1a; 5. Scrapy-Redis&#xff1a; 哪个爬虫库用的最多 Scrapy示例代码 总结 常用的python爬虫库有哪些 Python拥有许多常用的爬虫库…

node版本控制工具nvm使用笔记

由于不同的项目所需要的node环境不同&#xff0c;所以在运行支持node 12或者node 16版本的项目时卸载安装不同版本的node非常麻烦&#xff0c;恰巧公司有一个热心的同事告诉我可以使用nvm来进行版本控制&#xff0c;我使用了之后发现确实好用&#xff0c;写一篇笔记记录一下。 …

每天晚上12点服务器关机,第二天6点自动唤醒

每天晚上12点服务器关机&#xff0c;第二天6点自动唤醒。 作用主要有4个&#xff1a; 1、防黑&#xff1a;上班时黑客很少攻击&#xff0c;容易被发现。下班了、睡了&#xff0c;是黑客攻击的主要时间段。晚上关机&#xff0c;就直接没法攻击了。 2、省电。 3、电脑开了一天…

三勾商城java多端+多店+新零售商城系统

三勾商城是开发友好的微信小程序商城&#xff0c;框架支持SAAS&#xff0c;支持发布 iOS Android 公众号 H5 各种小程序&#xff08;微信/支付宝/百度/头条/QQ/钉钉/淘宝&#xff09;等多个平台&#xff0c;不可多得的二开神器&#xff0c; 为大中小企业提供极致的移动电子…

FlutterUnit 周边 | 深入分析 iOS 手势回退问题

theme: cyanosis 1. 问题的出现 由于之前一直在 Android 机子上测试&#xff0c;没在 iOS 上跑过。最近 FlutterUnit 发布了 iOS 版本&#xff0c;收到了最多的反馈就是&#xff1a;返回滑动 失效。 起初我以为只是 WillPopScope 的锅&#xff0c;但我发现&#xff0c;很多普通…

多元回归预测 | Matlab基于遗传算法(GA)优化径向基神经网络(GA-RBF)的数据回归预测,多变量输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab基于遗传算法(GA)优化径向基神经网络(GA-RBF)的数据回归预测,多变量输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空…

java的BigDecimal操作

1.保留两位小数不进位 public static void main(String[] args) {BigDecimal bigDecimal1 new BigDecimal("1234.8888");String bigDecimal1s bigDecimal1.setScale(2, RoundingMode.DOWN).toPlainString();System.out.println(bigDecimal1s);}结果&#xff1a; …

为什么不建议项目中使用触发器

1.什么是触发器 触发器&#xff08;trigger&#xff09;是一种数据库对象&#xff0c;可以看作由事件来触发的特殊存储过程。当一个特定的事件发生时&#xff0c;会自动执行在数据库表上的某些操作&#xff0c;比如当对一个表进行操作&#xff08;insert&#xff0c;delete&am…

关系型数据库中如何进行事务管理

关系型数据库中如何进行事务管理 在关系型数据库中&#xff0c;事务管理是一项非常重要的功能。它允许数据库管理员在一个或多个数据库操作中实现原子性、一致性、隔离性和持久性&#xff08;ACID&#xff09;。 事务是一组数据库操作&#xff0c;它们必须全部执行或全部回滚…

【ACL2023】基于电商多模态概念知识图谱增强的电商场景图文模型FashionKLIP

近日&#xff0c;阿里云机器学习平台PAI与复旦大学肖仰华教授团队、阿里巴巴国际贸易事业部ICBU合作在自然语言处理顶级会议ACL2023上发表基于电商多模态概念知识图谱增强的电商场景图文模型FashionKLIP。FashionKLIP是一种电商知识增强的视觉-语言模型。该论文首先设计了从大规…

String类1

String类 单个字符可以用char类型保存&#xff0c;多个字符组成的文本就需要保存在String对象中&#xff0c;String通常被称为字符串&#xff0c;一个对象最多占用4GB的文本类容。 声明字符串 1.字符串必须包含在“”中 例&#xff1a;”234”、”你好&#xff01;” 2.声明字…

GOLANG进阶:govalidator过滤器,MD5,JWT身份验证,redis

1.govalidator过滤器&#xff1a;类似于正则匹配&#xff0c;主要放在结构体注释部分&#xff0c;有些验证没有&#xff0c;需要自己替换&#xff08;把required部分替换成正则表达式&#xff09; 引入资源包&#xff08;两种方式&#xff09;&#xff1a; go get github.com/…