Servlet的生命周期(面试题)以及配置xml文件(二)

本文详细探讨了Servlet的生命周期,包括init()、service()和destroy()方法的调用时机。此外,还介绍了专注于Http请求的Servlet,以及如何在Tomcat启动时通过Web.xml配置创建Servlet实例。通过设置<load-on-startup>元素,可以控制Servlet的加载顺序及何时调用init()方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.Servlet生命周期:

当servlet被第一次访问的时候,init()方法会被调用。Servlet的实例默认情况下是第一次被访问的时候创建(这个可以是更改的),第二次访问不会了。Servlet的实例是单例的,Servlet每次请求会被调用。当Servlet对象销毁时会调用这个方法destroy()。

 

                    Servlet对象实例化(创建)  ——> Servlet对象初始化——> 处理请求 ——>  Servlet对象销毁(服务器关闭或崩溃了)    

                        大致在这几个方法中体现:        init();                        service();            destroy();

 


二.专注Http请求的Servlet

 

        Servlet(一个标准)接口  ——> GenericServlet是Servlet接口子类——>HttpServlet是GenericServlet的子类(一个专门处理http请求的Servlet)

                        

2018-03-15_181541.png

 

httpServlet中的需要了解的几个方法

 

①doGet(HttpServletRequest req, HttpServletResponse resp);   是给Get方式的Http的请求做响应。

②doPost(HttpServletRequest req, HttpServletResponse resp);  是给POST方式的Http的请求做响应。

③service(HttpServletRequest arg0, HttpServletResponse arg1);响应请求,请求并将其分配到该类中定义的doXXX方法。

 

 


 

 

三.Tomcat启动创建Servlet实例

 

①怎么添加在Tomcat启动创建Servlet实例?

                在Web.xml文件中,<Servlet>下添加一个元素对象<load-on-startup>1<load-on-startup>里面必须是大于等于0的整数。

所有添加了<load-on-startup>子元素的Servlet。都会在Tomcat启动时创建Servlet对象。只是被创建,但没有处理请求。但我们知道在Servlet生命周期中init()方法会在Servlet对象创建时被调用。所以你可以在init()方法中做一些输出,查看是否在Tomcat启动时被调用了它。

 

                <load-on-startup>元素的值是一个序号,Tomcat会使用这个序号给多个Servlet排序,然后再Tomcat启动时会按照这个顺序来创建Servlet实例对象。

 

2018-03-15_183147.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值