说法1:web 服务器在启动时,会为每一个已经部署的应用创建唯一的一个 ServletContext 实例。
说法2:当某个应用的首个请求到达服务器的时候,服务器才启动该应用,并为其创建一个 ServletContext 对象。
请问什么时候创建 ServletContext 对象呢?
说法一正确
Servlet 容器启动时,会为每个 Web 应用(webapps 下的每个目录都是一个 Web 应用)创建一个唯一的 ServletContext 对象,该对象一般被称为“Servlet 上下文”。
ServletContext 对象的生命周期从 Servlet 容器启动时开始,到容器关闭或应用被卸载时结束。
当我们访问servlet的时候,先执行的是构造方法(这个构造方法在类中没有明写,我们也可以自己写一个重载构造方法)、然后是init初始化方法、然后是service方法。其中构造方法和init方法只在第一次访问servlet的时候调用,后面再访问的话就不调用了。
——而service方法是访问一次调用一次。
——最后是destroy方法,这个方法在应用被卸载的时候会调用。我们可以很暴力地直接停止服务器来达到卸载应用的目的,通过下图箭头的stop server来停止,而不是下面的那个停止按钮,下面那个停止按钮相当于“断电”,而上面那个相当于“关闭”它会执行关闭的一些处理。
————————————————
版权声明:本文为CSDN博主「喂-不吃素的熊宝宝」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weisubao/article/details/52502574
答非所问