首页 > 试题广场 >

下列有关Servlet的生命周期,说法不正确的是?

[单选题]
下列有关Servlet的生命周期,说法不正确的是?
  • 在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例
  • 在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法
  • 在销毁阶段,执行destroy()方法后会释放Servlet 占用的资源
  • destroy()方法仅执行一次,即在服务器停止且卸载Servlet时执行该方法
推荐
答案:A
创建Servlet的实例是由Servlet容器来完成的,且创建Servlet实例是在初始化方法init()之前
编辑于 2015-02-03 10:29:46 回复(11)
Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。
(1)加载:容器通过类加载器使用servlet类对应的文件加载servlet
(2)创建:通过调用servlet构造函数创建一个servlet对象
(3)初始化:调用init方法初始化
(4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求
(5)卸载:调用destroy方法让servlet自己释放其占用的资源
发表于 2015-09-18 22:16:10 回复(20)
Servlet的生命周期
1.加载:容器通过类加载器使用Servlet类对应的文件来加载Servlet
2.创建:通过调用Servlet的构造函数来创建一个Servlet实例
3.初始化:通过调用Servlet的init()方法来完成初始化工作,这个方法是在Servlet已经被创建,但在向客户端提供服务之前调用。
4.处理客户请求:Servlet创建后就可以处理请求,当有新的客户端请求时,Web容器都会创建一个新的线程来处理该请求。接着调用Servlet的
Service()方法来响应客户端请求(Service方***根据请求的method属性来调用doGet()和doPost())
5.卸载:容器在卸载Servlet之前需要调用destroy()方法,让Servlet释放其占用的资源。
发表于 2016-01-13 21:49:25 回复(2)
Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。
(1)加载:容器通过类加载器使用servlet类对应的文件加载servlet
(2)创建:通过调用servlet构造函数创建一个servlet对象
(3)初始化:调用init方法初始化
(4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求
(5)卸载:调用destroy方法让servlet自己释放其占用的资源
发表于 2017-03-18 15:06:39 回复(0)
servlet是由Servlet容器负责加载Servlet类,创建Servlet对象并实例化,然后调用Servlet的init方法,进行初始化,之后调用Service方法。实例化和初始化不同0.0
发表于 2015-09-16 21:35:36 回复(1)
选A
Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。
(1)加载:Servlet容器(Tomcat)通过类加载器加载servlet文件(.class)
(2)创建:通过调用servlet构造函数创建一个servlet对象
(3)初始化:调用init方法初始化
(4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求
(5)卸载:调用destroy方法让servlet自己释放其占用的资源
servlet是由Servlet容器负责加载Servlet类,创建Servlet对象并实例化,然后调用Servlet的init方法,进行初始化,之后调用Service方法。实例化和初始化不同。先实例化,再初始化。

再说一下ServletConfig和ServletContext
1. Jsp/Servlet容器初始化一个Servlet类型的对象时,会为这个Servlet对象创建一个ServletConfig对象。在ServletConfig对象中包含了Servlet的初始化参数信息。
2. ServletContext是servlet与servlet容器之间的直接通信的接口。Servlet容器在启动一个Webapp时,会为它创建一个ServletContext对象,即servlet上下文环境。每个webapp都有唯一的ServletContext对象。同一个webapp的所有servlet对象共享一个ServeltContext,servlet对象可以通过ServletContext来访问容器中的各种资源。

从作用范围来说,ServletConfig作用于某个特定的Servlet,即从该Servlet实例化,那么就开始有效,但是该Servlet之外的其他Servlet不能访问;ServletContext作用于某个webapp,即在一个webapp中相当于一个全局对象,在Servlet容器启动时就已经加载,对于不同的webapp,有不同的ServletContext。

最后,说明一下参数的获取。访问ServletConfig参数,取得ServletConfig对象后,调用getInitParameter()方法;访问ServletContext对象,只要调用现有的ServletConfig对象的getServletContext()即可,然后同样调用getInitParamter()方法就能获取参数。


编辑于 2018-07-10 10:12:29 回复(7)
我觉得这题,C也错了或叫做不严谨
这里提到立即垃圾回收,在JVM中,并没有号称真正的手动方法(finalize优先级很低)使其真正的垃圾加收。

发表于 2015-03-16 11:47:35 回复(5)
A.创建Servlet实例是在初始化之前完成的
init()方法和destroy()方法只会调用一次
    servlet生命周期:
        创建servlet实例
        初始化:init()方法
        service()方法:根据用户请求是post还是get去执行DoPost和Doget方法
        执行destroy()方法释放资源


发表于 2015-08-26 17:18:24 回复(0)
init()方法由Servlet容器调用,指示将该Servlet放入服务。Servlete容器仅在容器实例化之后调用init()方法一次,在Servlet可以接受任何请求之前。init()方法必须成功完成。
发表于 2015-03-30 20:22:21 回复(0)
先创建,再调用init()进行初始化。
发表于 2015-07-06 16:09:45 回复(0)
Servlet的生命周期
1.加载:容器通过类加载器使用Servlet类对应的文件来加载Servlet
2.创建:通过调用Servlet的构造函数来创建一个Servlet实例
3.初始化:通过调用Servlet的init()方法来完成初始化工作,这个方法是在Servlet已经被创建,但在向客户端提供服务之前调用。
4.处理客户请求:Servlet创建后就可以处理请求,当有新的客户端请求时,Web容器都会创建一个新的线程来处理该请求。接着调用Servlet的
Service()方法来响应客户端请求(Service方***根据请求的method属性来调用doGet()和doPost())
5.卸载:容器在卸载Servlet之前需要调用destroy()方法,让Servlet释放其占用的资源。
发表于 2022-02-21 17:44:19 回复(0)
Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。
(1)加载:容器通过类加载器使用servlet类对应的文件加载servlet
(2)创建:通过调用servlet构造函数创建一个servlet对象
(3)初始化:调用init方法初始化
(4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求
(5)卸载:调用destroy方法让servlet自己释放其占用的资源
发表于 2017-11-06 20:41:22 回复(0)
servlet的生命周期都是由服务器控制的。

构造方法:创建servlet对象的时候调用。默认情况下,第一次访问servlet的时候创建servlet对象,只会调用1次。证明servlet对象单实例的。

init方法:创建完servlet对象的时候调用,且无参的init方法是用于初始化sevlet。只调用1次。

service方法:每次发出请求时调用。调用n次。

destroy方法:销毁servlet对象的时候调用。停止服务器或者重新部署web应用时销毁servlet对象。

只调用1次。


发表于 2016-08-09 16:18:07 回复(0)
创建Servlet实例是在初始化方法init()之前
发表于 2015-08-21 21:26:02 回复(0)
创建Servlet的实例是由Servlet容器来完成的,且创建Servlet实例是在初始化方法init()之前
发表于 2021-10-31 20:30:03 回复(0)
Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。
(1)加载:容器通过类加载器使用servlet类对应的文件加载servlet
(2)创建:通过调用servlet构造方法创建一个servlet对象
(3)初始化:调用init方法初始化
(4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求
(5)卸载:调用destroy方法让servlet自己释放其占用的资源
发表于 2021-04-29 16:46:39 回复(0)
这里简单的说一下servlet的构造方法和init方法。可能很多人会疑惑,构造方法不就是用来初始化的吗?其实不然。
  1. 构造方法是创建servlet对象的时候调用,只调用1次,能够证明servlet是单例的。
  2. init方法是创建完对象以后才调用,也只调用1次,这里才是进行servlet初始化的地方。因为servlet的实例会被多个请求复用,但构造函数却只能提供一次初始化,所以必须将初始化的工作放在init方法中。
发表于 2020-06-09 17:09:33 回复(0)
servlet的生命周期分为5个阶段:加载,创建,初始化,处理客户请求 ,卸载
发表于 2022-05-29 11:08:56 回复(0)
创建servlet实例是在初始化方法init()之前
发表于 2022-04-08 08:42:58 回复(0)
init方法在servlet创建之前被调用才对
发表于 2022-03-02 08:23:56 回复(0)
创建Servlet的实例是由Servlet容器来完成的,且创建Servlet实例是在初始化方法init()之前
发表于 2021-09-05 21:07:38 回复(0)