• Tomcat总结


    Tomcat文件结构(6.x及以后

    bin目录

    该目录下存放的是二进制可执行文件。有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来停止Tomcat;

    conf目录

    server.xml配置整个服务器信息。例如修改端口号,添加虚拟主机等

    catalina.properties:指定tomcatd的类加载器

    tomcatusers.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面.

    web.xml部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。MIME就是用来说明文档的内容是什么类型的.

    context.xml对所有应用的统一配置,通常我们不会去配置它

    lib目录:

    Tomcat的类库,里面是一大堆jar文件。可以被tomcat和所有的web应用程序共用。

    logs目录

    这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。

    temp目录:

    存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除!

    webApps目录:

    存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的。项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。

    work目录:

    运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。

    Tomcat的类加载机制

    Tomcat5.x之前可以说是tomcat的正统类加载,在tomcat6.x之后将/common /server /shared合并到同一个目录,即lib目录。

    /common目录:类库可以被Tomcat和所有的Web程序共同使用

    对应CommomClassLoader

    /server目录:类库可以被Tomcat使用,对所有的Web程序都不可见

    对应CatalinaClassLoader

    /shared目录:类库可以被所有的Web程序共用,Tomcat不可用

    对应SharedClassLoader

    /WebApp/WEB-INF目录:只对当前Web应用程序可用,Tomcat和其他程序不可用

    对应WebAppClassLoader

     

    对于Tomcat6.x以后的版本,只有指定了tomcat/conf/catalina.properties配置文件的server.loadershare.loader才会真正建立CatalinaClassLoaderSharedClassLoader的实例,否则用到这两个类加载器的地方全都用CommonClassLoader实例代替。

    Tomcat的热部署

    JsperLoader的加载范围仅仅是这个Jsp文件所编译出来的那个Class,他出现的目的就是为了被丢弃,当服务器检测到Jsp文件被修改时会替换掉原来的JsperLoader实例,并再建立一个新的Jsp类加载器实现HotSwap.(热部)

    Java文件也可以实现热部署:

    修改server.xml文件

    <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">  

    <!-- docBase指向工程目录  path即Context名称 -->  

    <Context docBase="E:/code/workspace/SCM/WebRoot" path="/SCM" reloadable="false"> </Context>  

    </Host>  

  • 相关阅读:
    OpenJDK与HashMap
    跨终端Web之Hybrid App
    Java日志性能
    openstack
    Hadoop下各技术应用场景
    股票基金看哪些书
    Java内存模型的历史变迁
    浅谈JS DDoS攻击原理与防御
    清除Windows 10的文件夹浏览痕迹
    linux删除文件后没有释放空间
  • 原文地址:https://www.cnblogs.com/yulu612/p/7349823.html
Copyright © 2020-2023  润新知