Java Servlet: Skirtumas tarp puslapio versijų

Ištrintas turinys Pridėtas turinys
Arjana (aptarimas | indėlis)
SNėra keitimo santraukos
Arjana (aptarimas | indėlis)
Įterptas skyrius apie servleto gyvavimo ciklą
Eilutė 26:
* Trijų lygių architektūra – servletas darbo metu susisiekia arba su atskirai parašytu ir veikiančiu sprendimus priimančiu moduliu, arba retais atvejais ir tiesiai su duomenų baze. Tiesioginis susisiekimas su duomenų baze, nors ir techniškai galimas, paprastai nerekomenduojamas ir atskirai nenagrinėjamas.
* Keturių lygių architektūra – servletas darbo metu susiekia su atskirai parašytu ir veikiančiu sprendimus priimančiu moduliu. Susiekiama dažniausiai per [[CORBA]] ar [[RMI]] protokolus. Šis modulis savo ruožtu susiekia su viena ar keliomis duomenų bazėmis (per [[JDBC]]).
 
=== Servleto gyvavimo ciklas ===
Servletas gali būti vienoje iš šių būsenų:
* Inicializuojamas: šiuo metu arba vykdomas servleto konstruktoriaus kodas, arba init() metodas. Servletą kuria konteineris, naudodamas konstruktorių be parametrų. Sukūrus servletą, vykdomas init() metodas. Viso servleto gyvavimo metu šis init() iškviečiamas tiktai vieną kartą.
* Veikia (inicializuotas): vykdomas servleto metodas service(). Būtent šioje būsenoje servletas gali apdoroti kliento užklausas bei generuoti atsakus. Kiekvieną atsaką apdoroja atskira gija.
* Sunaikintas: šiuo metu vykdomas metodas destroy(). Jis yra iškviečiamas vieną kartą ir yra skirtas atlikti veiksmams, kurių gali prireikti prieš sunaikinant servleto objektą (pvz., uždaryti prisijungimus prie duomenų bazės).
* Neegzistuoja: servleto objektas nesukurtas arba sunaikintas.
 
=== Servleto kūrimas ===