tomcat的ServletContextAttributeListener中的 attributeAdded方法在服务器启动时,被调用两次的原因
最近在学习tomcat服务器作用域的监听器,在学习到ServletContextAttributeListener监听器的时候,写了这么一段监听器代码:
然后也写了一个servlet,往ServeletContext里面存储值:
这个servlet的url映射为:/oneTest:
一切准备就绪之后,启动服务器,但是奇怪的事情发生了,我还没来得及在浏览器输入"/oneTest",在控制台就先输出了:
我猜测这应该是服务器在启动时自己往ServeletContext对象里面添加的两个值,那么这两个值又是什么呢?
我修改了一下监听器的代码:输出添加进ServeletContext对象的名字以及值
接着重启服务器,控制台输出如下:
终于让我抓到了吧,经过查资料,发现确实是服务器在启动的时候会自动往全局作用域对象中添加的数据,至于作用是什么,可以自己去查一下,这里就不深究了。
最后也顺利测试了ServletContextAttributeListener接口中的方法: