Java Servlet
Java Servlet – Sun Microsystems sukurta technologija, skirta dinaminiam turiniui generuoti. Java Servlet programuojamas Java programavimo kalba. Pagrindinė sąvoka šioje technologijoje – servletas. Tai serveryje esantis komponentas, gaunantis iš kliento (pvz., naršyklės) užklausą (angl. request) bei generuojantis atsaką (angl. response). Servletas gali būti generuojamas automatiškai, pasitelkiant JavaServer Pages technologiją ar kitą šablonų generavimo variklį, tokį kaip WebMacro ar Apache Velocity. Web talpykla (container)Nekomercinės Web talpyklos
Komercinės Web talpyklos
Servleto naudojimasServletas gali būti naudojamas keletu būdu:
Servleto gyvavimo ciklasServletas gali būti vienoje iš šių būsenų:
Servleto kūrimasPaprasčiausio servleto pavyzdysProgramuotojas, kurdamas paprasčiausią servletą, gali paveldėti javax.servlet.http. HttpServlet klasę ir perrašyti tam tikrus jos metodus. Dažniausiai užtenka perrašyti doGet ir doPost metodus, taip pat init pradiniams duomenims pakrauti.
Be doGet() ir doPost() metodų, HttpServlet klasė turi atitinkamus metodus ir kitoms HTTP užklausoms (visoms, išskyrus HTTP CONNECT):
doGet() ir doPost() metodai perduoda HTML formoje vartotojo įvestus duomenis. Skirtumas tarp HTTP GET ir POST metodų yra tas, kad pirmuoju metodu visa informacija apie norimą resursą perduodama interneto adresu. 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 lemia, koks servletas konteineryje apdoros užklausą. Servleto metodai doGet() ir doPost() perduoda du parametrus: HttpServletRequest ir HttpServletResponse. HttpServletRequest, be kitų duomenų, saugomos perduotų parametrų (pvz., iš html formos arba nuorodos) reikšmės. String klausimas = request.getParameter(„klausimas“); // request - HttpServletRequest tipo objektas Č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[reikalingas šaltinis], kad puslapis automatiškai baigiamas generuoti tada, kai baigiamas vykdyti doGet() arba doPost() metodas. Realiai HTML puslapiai (kaip parodyta pavyzdyje) servleto kode negeneruojami, juose dažniausiai realizuojama verslo logika, o prezentacijai dažniausiai naudojami JSP puslapiai. Programavimo priemonėsKai kurios Java programavimo aplinkų turi priemones servletų kūrimo automatizavimui:
Nuorodos |