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