安装好 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是server.xml的根元素,用于创建一个Server实例,默认使用的实现类是 org.apache.catalina.core.StandardServer
port:Tomcat 监听的关闭服务器的端口。
shutdown:关闭服务器的指令字符串。
Server内嵌的子元素为 Listener、GlobalNamingResources、Service。
VersionLoggerListener:用于以日志形式输出服务器 、操作系统、JVM的版本信息
AprLifecycleListener:用于加载(服务器启动) 和 销毁 (服务器停止) APR。 如果找不到APR库, 则会输出日志, 并不影响Tomcat启动
JreMemoryLeakPreventionListener:用于避免JRE内存泄漏问题
GlobalResourcesLifecycleListener:用户加载(服务器启动) 和 销毁(服务器停止) 全局命名服务
ThreadLocalLeakPreventionListener:用于在Context停止时重建Executor 池中的线程, 以避免ThreadLocal 相关的内存泄漏
可编辑的用户数据库,UserDatabaseRealm也可以使用该数据库对用户进行身份验证
默认情况下,Tomcat 仅指定了Service 的名称, 值为 “Catalina”。Service 可以内嵌的元素为 : Listener、Executor、Connector、Engine,其中 : Listener 用于为Service添加生命周期监听器, Executor 用于配置Service 共享线程池,Connector 用于配置Service 包含的链接器, Engine 用于配置Service中链接器对应的Servlet 容器引擎。一个Server服务器,可以包含多个Service服务
该配置文件中,主要配置的是Tomcat的用户,角色等信息,用来控制Tomcat中 host-manager、manager的访问权限
tomcat:用于控制页面访问权限。
roles1:用于控制以简单文本的形式进行访问
web.xml 详解
web.xml 是web应用的描述文件, 它支持的元素及属性来自于Servlet 规范定义
contextConfigLocation
classpath:applicationContext‐*.xml
Spring Config File Location
用于配置Web应用会话,包括 超时时间、Cookie配置以及会话追踪模式。它将覆盖server.xml 和 context.xml 中的配置
30
JESSIONID
www.baidu.cn
/
Session Cookie
true
false
3600
COOKIE
myServlet
com.caochenlei.MyServlet
fileName
init.conf
1
true
myServlet
*.do
/myservet/*
Listener用于监听servlet中的事件
org.springframework.web.context.ContextLoaderListener
filter 用于配置web应用过滤器, 用来过滤资源请求及响应。 经常用于认证、日志、加密、数据转换等操作
myFilter
com.caochenlei.MyFilter
true
language
CN
myFilter
/*