天天看点

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

一: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")来获取