SóProvas


ID
2502625
Banca
NC-UFPR
Órgão
ITAIPU BINACIONAL
Ano
2017
Provas
Disciplina
Programação
Assuntos

Sobre o ciclo de vida de uma Servlet, é correto afirmar:

Alternativas
Comentários
  • a) destroy() remove a instancia do Servlet da memória.

    b) service() é chamado após o init()

    c) CERTO - init() e destroy() são executados apenas 1 vez.

    e) se houver uma instância capaz de responder a requisição não precisa de criar uma nova instância.

  • a) [ ERRADO ]
    Javadoc do destroy:
    "Called by the servlet container to indicate to a servlet that the servlet is being taken out of service."
    "This method gives the servlet an opportunity to clean up any resources that are being held (for example, memory, file handles, threads) and make sure that any persistent state is synchronized with the servlet's current state in memory."
    O correto seria dizer que é chamado pelo contêiner. Além disso, se não tiver nada no destroy o servlet é destruído do mesmo jeito. Como o javadoc diz, esse método te dá a "oportunidade" de liberar recursos. Mas não "deve" ser chamado para destruir a Servlet.


    b) [ ERRADO ] após o init()


    c) [ GABARITO ] O método init() é chamado pelo contêiner somente uma vez.
    Javadoc do init:
    "The servlet container calls the init method exactly once after instantiating the servlet."


    d) [ ERRADO ] Que parâmetros iniciais ? Se ele tivesse falado ServletRequest e ServletResponse que são os parâmetros do método tudo bem. Esses dois parâmetros não são "iniciais", eles são passados toda vez que o servlet é invocado.


    e) [ ERRADO ] usa a instância previamente criada

     

    https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/Servlet.html