Servletek

Egy servlet tulajdonképp egy speciális Java program, amely egy webszerverrel szorosan együttműködve a szerver oldalon lehetővé teszi HTML oldalak dinamikus létrehozását és paraméterezését különböző átviteli (például HTTP) protokollon keresztül. Azt is mondhatjuk, hogy egy szervlet ugyan az a webszervernek, mint egy applet a böngészőprogramnak, csak nem rendelkezik grafikus felhasználói felülettel. De erre nincs is szükség, mivel a servletek -- mint a név is mutatja -- csakis szerver funkciókat képesek elvégezni. Pontosabban a webszerver funkcionalitását lehet velük kibővíteni, mert ha egy kliens olyan HTML oldalt kér a webszervertől, amit egy servlet állít elő, akkor a webszerver tulajdonképp csak delegálja a kérést a servlet felé, majd a servlet által generált oldalt továbbítja a kliensnek.

1. példa: a LifeTestServlet servlet

Ezen példaservlet az életciklus metódusainak meghívásakor a servlet futtatókörnyezet naplófájljába kiírja, hogy mely metódus lett meghívva, eddig hányszor lett a servlet példányosítva, valamint a klienskérésekre válaszképp a servlet visszaadja a kérés, illetve a servlet jellemzőit és paramétereit. A servlet azt is nyilvántartja, hogy egyszerre hány programszál tartózkodik a kiszolgáló metóduson belül. A kiszolgálást pedig egy tíz másodpercig tartó ciklussal direkt lassítjuk, hogy ki lehessen próbálni, hogy viselkedik a servlet, ha ezen időtartam alatt egy újabb kérést kell kiszolgálnia.

Servletünk teszteléséhez készítettünk egy HTML lapot, melyen HTML beviteli mezőket lehet kitölteni, majd azok tartalmát két különböző HTTP típussal (GET, POST) is el lehet küldeni.

2. példa: a CookieTestServlet servlet

Ezen példaservlet kilistázza a böngészőtől kapott cookie-k jellemzőit, majd lehetővé teszi azok törlését, illetve új cookie definiálását.

3. példa: a SessionTestServlet servlet

Ezen példaservlet kilistázza a klienshezkapcsolat környezethez tartozó objektumok jellemzőit, majd lehetővé teszi azok törlését, illetve új objektum definiálását.

4. példa: a ContextTestServlet servlet

Ezen példaservlet először meghívja a LifeTestServlet servletet, majd az ott legenerált HTML oldalhoz hozzáfűzi a servlet futtatókörnyezet jellemzőit és az ott található attribútom objektumok jellemzőinek listáját.
A servleteket a JSDK segítségével fordítottuk és teszteltük.