Pereiti prie turinio

Java Servlet

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
20:33, 30 liepos 2005 versija, sukurta RealNercury (aptarimas | indėlis)
(skirt) ←Prieš tai buvusi versija | žiūrėti esamą versiją (skirt) | Kita versija → (skirt)

Java Servlet

Java Servlet - tai Sun Microsystems sukurta technologija dinamiškų puslapių generavimui. Java Servlet programuojamas Java programavimo kalba.

Toliau "Java Servlet" bus vadinamas tiesiog "Servletu"

Servleto naudojimas

Tipinis servletas yra trijų lygių architektūra paremtos sistemos sudedamoji dalis. Tai yra:

Servleto kūrimas

Tomcat servleto kūrimas pradedantiesiems

Programuotojas, kurdamas paprasčiausią servletą, turi paveldėti Servlet klasę ir tam tikrus jos metodus. Dažniausiai užtenka paveldėti doGet ir doPost metodus, taip pat init pradiniams duomenims pakrauti.

  • init metodą iškviečia servleto "konteineris" iškart po servleto sukūrimo.
  • doGet vykdo HTTP Get užklausą (HTTP Get request)
  • doPost vykdo HTTP Post užklausą (HTTP Post request)

doGet ir doPost metodai perduoda HTML formoje vartotojo įvestus duomenis. Skirtumas tarp "get" ir "post" metodų yra tas, kad "post" formų laukų rezultatai nespausdinami naršyklės adreso laukelyje. HTML formos aprašymo pavyzdys:

<form action="/WebServer/main" method="POST">
    <input type="text" name="klausimas" />
    <input type="submit" name="Submit" value="Gerai" />
</form>

Tai pavyzdys paprasčiausios formos su laukeliu įvesti tekstui ir patvirtinimo mygtuku.

Parametras action nurodo kuriai servleto klasei skirti formos duomenys.

HTML puslapis su tokia forma turi būti gautas per Web serverį (arba paprasčiau sakant per adresą naršyklės lange), kitaip naršyklė nežinos, kur siųsti informaciją. Metodai doGet ir doPost perduoda du parametrus: request ir response. Naudojantis request galima gauti tekstą kuris buvo įvestas į bet kurį laukelį.

String klausimas = request.getParameter("klausimas");

Čia jau programuotojas pats turi nuspręsti, ką daryti su gautu tekstu. Jis gali sugeneruoti naują puslapį ir nusiųsti vartotojui:

PrintWriter out = response.getWriter();
out.println("Jūsų įvestas klausimas buvo: " + klausimas);

Svarbu prisiminti, kad puslapis automatiškai baigiamas generuoti tada, kai baigiamas vykdyti doGet arba doPost metodas.


Kai kurios Java programavimo aplinkų turi priemones servletų kūrimo automatizavimui:

Pilnas pavyzdys

Kuriamas