Servlet的生命周期
程序员文章站
2022-06-03 11:38:26
...
1.什么是Servlet生命周期:
- Servlet容器如何创建Servlet对象、如何为Servlet对象分配、准备资源、如何调用对应的方法来处理请求以及如何销毁Servlet对象的整个过程即Servlet的生命周期。
2.生命周期的四个阶段: 实例化+初始化(给这个对象预置一些数据)+就绪+销毁 - 1)实例化(创建对象=实例化):何时实例化:默认是首次访问Servlet是实例化:也可以在容启动之后立刻创建实例;如何实现(在配置servlet-class属性标签后面加1)注:容器只会创建一个实例。参数值要求是一个大于等于0的整数,越小,优先级越高(即先创建)。
- 2)初始化(给这个对象预置一些数据) Servlet创建必须初始化它的初始化就是调用init()方法。
如何实现:GenericServlet的init方法是如何实现的将容器传递过来的ServletConfig对象保存下来,并且提供了一个获得该对象的方法(getServletConfig), 如何实现自已的初始化处理逻辑只需要override
GenericServlet提供的init()方法。
A、怎么配置数据(如何配置Servlet的初始参数):在web中servlet-calss属性标签之后load-on-startup属性标签之前加:如果要配置多数据甲多个节点。
<init-param>
<param-name>city</param-name>
<param-value>北京</param-value>
</init-param>
B、如何获取该初始参数在Servlet文件中从写他爷爷的init()方法可以通过:getServletConfig方法来获得ServletConfig对象数据。
ServletConfig cfg = getServletConfig();
String city=cfg.getInitParameter("city");
String ServletConfig.getInitParameter(String paramName);
Tomcat只会调用父类中事先定义好的方法。
- 3)就绪:从写service()方法:容器收到请求之后调用Servlet对象的service方法来处理请求。HttpServlet的service方法是如何实现的依据请求类型(get/post)调用对应的doXXX方法(doGet/doPost)。
注:我们可以写一个servlet,继承HttpServlet,然后override
doGet和doPost方法,或者也可以直接override service方法(通常写法)。 - 4)销毁:servlet容器在销毁Servlet对象时会调用destroy方法来释放资源。通常情况下Servlet容器停止或者重新启动都会引起销毁Servlet对象的动作,但除此之外,Servlet容器也有自身管理Servlet对象的准则,整个生命周期并不需要人为进行干预。(从写destroy方法)
总结:创建、初始化、销毁、只执行一次。就绪(工作可以反复执行) - 5)Servlet的核心接口与类
相关的几个类与接口
1)Servlet接口init()service()destroy()
2)GenericServlet抽象类实现了Servlet接口中的部分方法(init,destroy)
3)HttpServlet抽象类继承GenericServlet抽象类,实现了service方法。
上一篇: 微服务架构-使用Docker进行Spring Boot开发
下一篇: 最长回文子串
推荐阅读
-
creo4.0同一曲面怎么添加两种不同的颜色?
-
快播还能继续使用吗?快播点播技术关闭后的解决办法
-
AE怎么排列图层? ae由上往下排列的教程
-
暴风影音盒子打不开的解决方法
-
重庆分数线最低的本科大学名单汇总(2021年参考)
-
使用Spring Security控制会话的方法
-
Spring Boot报错:No session repository could be auto-configured, check your configuration的解决方法
-
2021年陕西450分理科能上什么大学?陕西450分的二本学校名单
-
2021年河北450分理科能上什么大学?附河北450分的公办二本名单
-
爱思助手工具箱连接不上的原因及解决方法