Tomcat的目录结构

本文详细介绍了Tomcat服务器,强调其作为轻量级应用服务器的角色,特别是在中小型系统中的广泛应用。文章探讨了Tomcat与其他Web服务器的对比,并详细解析了Tomcat的目录结构及其作用,包括bin目录中的关键脚本、conf目录下的配置文件,如server.xml和web.xml,以及工作目录如logs和webapps。此外,还特别讨论了session持久化的配置和实现方法,包括在context.xml中的配置以及通过实现特定接口的bean来实现session恢复。
摘要由CSDN通过智能技术生成

tomcat是什么

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。

除tomcat外,web应用服务器还有jetty,weblogic,websphere,undertow等。

注意:有时我们会将web叫做web服务器,实际上tomcat更准确的叫法是应用服务器。 web服务器主要是指专门来处理html,css,图片等静态资源的服务器,必要apache服务器。

目录结构及作用

tomcat目录结构的截图(tomcat-9.0.60):

在这里插入图片描述

作用

  • backup

    eclipse第一次启动tomcat时,会在下面新建一个backup文件夹,但是出于安全方面考虑,系统默认不让用户新建文件夹(在tomcat文件夹右击,选择属性 --> 安全,选择当前系统用户,点击编辑,选择完全控制,就可以新建了)

  • bin

    bin目录主要用来存放tomcat命令的目录,里面主要有两种类型的文件,一种是以.bat为扩展名的文件,一类是以.sh为扩展名的文件。其中.bat的文件是在windows平台的命令,而.sh则是在linux平台的文件。

    该目录主要的文件有以下几个:

    1. setclasspath 用于设置Java环境变量,如JAVA_HOME,JRE_HOME等

    2. catalina该文件也是用来配置环境的,如CATALINA_HOME,及tomcat的安装路径,我们可以在此目录设置Java的启动参数,如最大最小堆空间大小;

      例如:JAVA_OPTS=“$JAVA_OPTS -Xms256m -Xmx512m -Xmn128m -XX:PermSize=128m -XX:MaxPermSize=512m”

    3. startup用来给启动tomcat,当双击startup后,tomcat启动,读取catalina脚本配置启动环境,catalina又会调用setclasspath脚本,用来设置jdk需要的环境变量,如果系统没有定义JAVA_HOME环境变量,则会报错退出

    4. shutdown用于停止tomcat服务

  • conf

    该目录主要用来存放tomcat的配置文件, 重要的配置文件如下:

    1. server.xml 用于配置端口号,虚拟主机,默认加载项目,请求编码等等,是tomcat中最常使用的配置文件

    2. web.xml 为所有的部署在该tomcat下的web应用通用的配置,与每个web应用的web.xml配合使用。

      例如:
      DefaultServlet,就算系统中没有配置任何的servlet,tomcat依然可以处理html,js,css等静态资源的请求,就是这个servelt起的作用;
      JspServlet,当请求jsp页面时,则会用到这个servlet。
      session过期时间配置session-timeout参数,也是在这个web.xml中配置的。

    3. catalina.policy 这个是tomcat安全相关的配置文件,主要使用安全策略文件可以在tomcat启动是附上 -security

    4. catalina.properties 安全配置,类加载设置,不需扫描的类,字符缓存等配置

    5. context.xml 所有在tomcat中发布的应用都会使用的公用配置,例如:发布的web应用的描述文件的位置及名称,及session持久化配置等。session持久化示例请参考第三部分的示例

    6. tomcat-users.xml
      tomcat的角色(授权用户)配置文件,用于访问tomcat管理应用程序时的安全性设置,用server.xml中引用的默认的用户数据库域(UserDatabase Realm)使用它,所有的凭据都是默认被注释的

    7. tomcat-users.xsd 定义了 tomcat-users.xml 所使用到的标签,即tomcat-user.xml 的结构定义文件

  • lib

    所有部署在tomcat中的web应用公用的jar包

  • logs

    用于保存tomcat运行时的日志数据

    • catalina.{yyyy-MM-dd}.log tomcat自己的运行日志
    • localhost.{yyyy-MM-dd}.log 应用初始化日志,包含tomcat的启动和暂停时的运行日志,没有catalina.{yyyy-MM-dd}.log记录的全,只包含一部分
    • localhost_access_log.{yyyy-MM-dd}.txt tomcat访问日志,包括请求时间,资源,返回的状态码
    • manager.{yyyy-MM-dd}.log 是tomcat管理控制台应用的专有日志
    • 在Linux系统中,tomcat将日志记入catalina.out文件,可以使用 tail -f catalina.out 进行跟踪。
  • temp

    存放tomcat在运行期间产生的临时文件,可以清空该目录的文件,但不能删除该目录,可能会引发不可预知的错误。

  • webapps

    tomcat默认的项目部署目录,在默认情况下,如果要发布应用可以直接将应用的war包放入该目录即可完成发布,也可以直接发布未压缩的目录,但要求该目录需要符合web应用规范。

    • doc tomcat文档
    • examples tomcat自带的web应用示例
    • host-manager tomcat主机管理应用程序
    • manager tomcat的管理应用程序
    • ROOT 如果项目部署为ROOT,则在地址栏直接输入:http://ip:port/ 就可以访问,即不用输入应用名
  • work

    用来部署应用中由jsp文件生成的java文件和编译之后的class文件,可以删除,删除后可以迫使tomcat重新生成jsp对用的java和class文件。

  • 其他文件

    • LICENSE tomcat开源许可文件
    • NOTICE tomcat说明文件
    • RELEASE-NOTES
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绥彼岸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值