Пређи на садржај

Servlet

С Википедије, слободне енциклопедије

Servletje objekatprogramskog jezikaJavakoji dinamički obrađuje zahteve i konstruiše odgovor na zahtev. Java servletAPIomogućava Java programerima da dodaju dinamički sadržajWeb serverukorišćenjem Java platforme. Servlet najčešće generišeHTMLkod, ali to može biti iXMLili nešto slično.

Servlet je svojevrsni odgovorSun Microsystemsna postojeće tehnologije dinamičkog generisanja HTML koda:PHP,CGIiASP.NET.Oni omogućavaju održavanje stanja na više servera korišćenjem kolačića, promenljivih sesije i prepisivanjemURLadresa.

Servlet API, je smešten u Java paketujavax.servlet,i definiše očekivane interakcije Web kontejnera i servleta.Web kontejnerje u osnovi komponenta Web servera koji odgovara na zahteve servleta. Web kontejner je odgovoran za upravljanje životnim ciklusom servleta, mapiranjem URL adresa za određeni servlet i obezbeđivanje da će zahtevani URL dobiti ispravan odgovor.

Servlet je objekat koji prima zahtev i generiše odgovor na osnovu zahteva. Osnovni paket servleta definiše Java objekte koji reprezentuju zahteve i odgovore servleta, kao objekta koji odražava konfiguraciju parametara servleta i izvršnog okruženja. Paketjavax.servlet.httpdefiniše specifične HTTP podklase generičkih elemenata servleta, uključujući objekte upravljanja sesijom koji beleže zahteve i odgovore Web servera i klijenta. Servlet se mogu smeštati uWARdatoteke kaoWeb aplikacija.

Servleti mogu biti automatski generisani odJSP(JavaServer Pages) kompajlera, ili pomoću templejt endžina, kao što jeWebMacro.

Životni ciklus Servleta

[уреди|уреди извор]
  1. Kontejner učitava servlet klasu prilikom podizanja sistema.
  2. Kontejner pozivainit()metodu. Ova metoda inicijalizuje servlet i mora biti pozvana pre bilo kog zahteva za servlet. Ovaj metod se poziva samo jednom tokom životnog ciklusa servleta.
  3. Nakon inicijalizacije servlet može odgovarati na zahteve. Svaki zahtev se obrađuje kao posebna nit. Kontejner pozivaservice()metodu servleta za svaki pojedni zahtev. Ova metoda određuje vrstu odgovora i prosleđuje je odgovarajućem metodu na obradu. Web programer mora da implementira ove metode. Ukoliko nije implementirana odgovarajuća metoda za dati zahtev izvršava se nadređena metoda, koja obično daje poruku o grešci.
  4. Na kraju kontejner pozivadestroy()metodu koja prekida izvršavanje servleta. I ova metoda se kao i innit() metoda poziva samo jednom tokom izvršavanja servleta.