PDA

Visualizza la versione completa : [JAVA] SERVLET: ciclo di vita di una servlet


ric.cpp
24-09-2005, 10:15
ciao a tutti,

qual il ciclo di vita dell'istanza di una servlet che estende HttpServlet??
Quello che vorrei sapere e se viene creata una nuova istanza per ogni nuova request e quando viene distrutta ogni istanza creata

grazie

anx721
24-09-2005, 16:46
le richieste condividono tutte l'unica istanza creata quando arriva la prima richiesta per quella servlet, quindi ci possono anche essere piu richieste simultaneamente attive in thread diversi sullo stesso oggetto servlet; buona norma quindi non utilizzare nei metodi delle servlet variabili non locali ai metodi stessi altrimenti bisogna prevedere oppotuni meccanismi di sincronissazzione. La sevlet distrutta quando il server termina.

ci sono due metodi di cui non ricordi il nome (mi pare init e delete) che puoi ridefinire nella tua servlet e che sono chiamati quando la sevlet istanziate e quando distrutta.

Shagrat
24-09-2005, 16:51
contextDestroyed(ServletContextEvent event)

contextInitialized(ServletContextEvent event)


Credo siano questi i due metodi ai quali accennava anx721

:ciauz:

anx721
24-09-2005, 17:37
i due metodi a cui mi riferivo sono init() e destroy()

matteolandi
24-09-2005, 18:59
quindi posso essere certo che tutte le variabili definite nei metodi doPost e doGet non vengono lette o scritte da + di un client contemporaneamente.....

grazie 1000 per la risposta

Ed_Bunker
24-09-2005, 19:15
Una domanda stupida: ma se un servlet implementa il metodo post in modo da andare a scrivere i dati ricevuti in un database c'e' la necessita' di trovare un modo per evitare interferenze in caso di richieste concorrenti oppure e' il database stesso che si occupa di garantire tutto cio' grazie alla serializzabilita' e alla consistenza ?

thks

Loading