tomcat加载jar包/类文件顺序 servlet加载的历程操作(参数配置)

本文详细介绍了Tomcat加载jar包和类文件的顺序,首先加载TOMCAT_HOME/lib的jar包,然后是WEB-INF/lib中的jar包,最后是WEB-INF/classes中的.class文件,并指出后加载的类会覆盖前面的同名类。接着,讨论了Servlet的访问过程,包括服务器启动时读取web.xml配置,创建Servlet池,以及Servlet的生命周期:构造函数、init()、service()和destroy()方法。此外,还提到了如何通过<load-on-startup>标签配置Servlet的启动顺序以及使用<init-param>传递初始化参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:tomcat的运行加载的jar包和类文件顺序

      1:加载TOMCAT_HOME/lib文件中的jar包

       2:加载TOMCAT_HOME/webapps/WEB-INF/lib中的jar包

       3:加载TOMCAT_HOME/webapps/WEB-INF/class中的.class文件

       note:与java虚拟机的父类委托机制不一样,tomcat后加载的类会   覆盖  前面加载的 相同类

二:servlet在访问的操作

       当服务器开启时,会读取web.xml中的配置信息

        tomcat会创建一个servlet池(hashMap)

       一般设置:

                       服务器启动时,servlet并未启动,当第一次访问该servlet时,才会创建

                      第一次访问(创建):

                                   1:执行servlet的构造函数

                                   2:执行初始化init(ServletConfig config)函数

                                   3:在访问时执行service(ServletRequest req, ServletResponse res)函数

                     再次访问:

                                      从servlet池中取出对应的servlet执行service(ServletRequest req, ServletResponse res)函数

                      服务器关闭

                                      池中每一个servlet执行各自的destroy()函数

       加载时设置:

                 1:  服务器启动时,可是通过配置使得sevlet在访问之前创建完成

                  <load-on-startup>15</load-on-startup>   中间的要求是一个>0的数且不同

                当多个servlet配置时,按照数字大小来 排队启动

                :2:配置参数

                      <init-param>
                               <param-name>name</param-name>
                                    <param-value>Jack</param-value>
                           </init-param>

                     通过init(ServletConfig config)函数的config.getInitparameten("name")来获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值