写点什么

Tomcat 目录结构 | 京东云技术团队

  • 2023-09-27
    北京
  • 本文字数:2063 字

    阅读完需:约 7 分钟

Tomcat目录结构 | 京东云技术团队

Tomcat 目录结构图如下:


1、bin 目录

存放一些可执行的二进制文件,.sh 结尾的为 linux 下执行命令,.bat 结尾的为 windows 下执行命令。


2、conf 目录

存放 tomcat 相关配置文件的。


2.1、catalina.policy

项目安全文件,用来防止欺骗代码或 JSP 执行带有像 System.exit(0)这样的命令,可能影响容器的破坏。 只有当 Tomcat 用-security 命令行参数启动时这个文件才会被使用,即启动 tomcat 时, startup.sh -security 。

2.2、catalina.proterties

配置 tomcat 启动相关信息文件

2.3、context.xml

监视并加载资源文件,当监视文件发生变化时,自动加载,通常不会去配置

2.4、jaspic-providers.xml 和 jaspic-providers.xsd

不常用文件

2.5、logging.properties

tomcat 日志文件配置,包括输出格式、日志级别等。

2.6、server.xml

核心配置文件:修改端口号,添加编码格式等


核心组件介绍:


<1>Server:最顶层元素,而且唯一,代表整个 tomcat 容器。一个 Server 元素包含一个或者多个 Service 元素;


<2>Service:对外提供服务的。一个 Service 元素包含多个 Connector 元素,但是只能包含一个 Engine 元素;


<3>Connector:接收连接请求,创建 Request 和 Response 对象用于和请求端交换数据;然后分配线程让 Engine 来处理这个请求,并把产生的 Request 和 Response 对象传给 Engine


<4>Engine:Engine 组件在 Service 组件中有且只有一个;Engine 是 Service 组件中的请求处理组件。Engine 组件从一个或多个 Connector 中接收请求并处理,并将完成的响应返回给 Connector,最终传递给客户端。


<5>Host:代表特定的虚拟主机。


<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
复制代码


**name:**虚拟主机的主机名。比如 localhost 表示本机名称,实际应用时应该填写具体域名,比如 www.dog.com ,当然如果该虚拟主机是给内部人员访问的,也可以直接填写服务器的 ip 地址,比如 192.168.1.101;


**appBase:**设置 Web 应用程序组的路径。appBase 属性的值可以是相对于 Tomcat 安装目录的相对路径,也可以是绝对路径,需要注意的是该路径必须是 Tomcat 有权限访问的;


**unpackWARs:**是否自动展开 war 压缩包再运行 Web 应用程序,默认值为 true;


**autoDeplay:**是否允许自动部署,默认值是 true,表示 Tomcat 会自动检测 appBase 目录下面的文件变化从而自动应用到正在运行的 Web 应用程序;


**deployOnStartup:**为 true 时,表示 Tomcat 在启动时检查 Web 应用,且检测到的所有 Web 应用视作新应用;


<6>Context:该元素代表在特定虚拟主机 Host 上运行的一个 Web 应用,它是 Host 的子容器,每个 Host 容器可以定义多个 Context 元素。静态部署 Web 应用时使用。


<Context path="/" docBase="E:\Resource\test.war" reloadable="true"/>
复制代码


**path:**浏览器访问时的路径名,只有当自动部署完全关闭(deployOnStartup 和 autoDeploy 都为 false)或 docBase 不在 appBase 中时,才可以设置 path 属性。


**docBase:**静态部署时,docBase 可以在 appBase 目录下,也可以不在;本例中,不在 appBase 目录下。


**reloadable:**设定项目有改动时,重新加载该项目。

2.7、tomcat-users.xml 和 tomcat-users.xsd

tomcat-users.xml:tomcat 用户配置文件,配置用户名,密码,用户具备权限


tomcat 默认没有配置任何用户,只有配置好用户后才能使用以下 Tomcat Manager 三个功能:


<role rolename="manager-gui"/><role rolename="manager-script"/><user username="tomcat" password="tomcat" roles="manager-gui"/><user username="admin" password="123456" roles="manager-script"/>
复制代码


tomcat-users.xsd:对 tomcat-users.xml 文件的描述和约束

2.8、web.xml

web 应用相关通用配置,可以做下面这些事情。


  • 配置 servlet

  • 添加过滤器,比如过滤敏感词汇

  • 设置 session 过期时间,tomcat 默认 30 分钟



  • 注册了很多 MIME 类型,即文档类型。这些 MIME 类型是客户端与服务器之间说明文档类型的,如用户请求一个 html 网页,那么服务器还会告诉客户端浏览器响应的文档是 text/html 类型的,这就是一个 MIME 类型

  • 配置系统欢迎页


3、lib 目录

存放 tomcat 依赖 jar 包的。


其中 ecj-x.x.x.jar 起到了将.java 文件编译成.class 字节码文件的作用。


4、logs 目录

存放 tomcat 运行时产生的日志文件。


在 windows 环境中,日志文件输出到 catalina.xxxx-xx-xx.log 文件中。


在 linux 环境中,日志文件输出到 catalina.out 文件中。


大体有以下几类:



5、temp 目录

用户存放 tomcat 在运行过程中产生的临时文件(清空不会对 tomcat 运行带来影响)。

6、webapps 目录

用来存放应用程序,可以以文件夹、war 包、jar 包的形式发布应用。当然也可以将应用程序放在磁盘的任意位置,在配置文件中映射好即可。

默认自带以下 5 个项目:

7、work 目录

用于存放 tomcat 在运行时的编译后文件(清空该目录下所有内容,重启 tomcat,可达到清除缓冲的作用)


作者:京东科技 杨建

来源:京东云开发者社区 转载请注明来源

发布于: 刚刚阅读数: 4
用户头像

拥抱技术,与开发者携手创造未来! 2018-11-20 加入

我们将持续为人工智能、大数据、云计算、物联网等相关领域的开发者,提供技术干货、行业技术内容、技术落地实践等文章内容。京东云开发者社区官方网站【https://developer.jdcloud.com/】,欢迎大家来玩

评论

发布
暂无评论
Tomcat目录结构 | 京东云技术团队_tomcat_京东科技开发者_InfoQ写作社区