Tanulási JSP és servlet

Ez a cikk röviden bemutatja az alapokat a servlet szerkezetét. Általános szabály, hogy ez a fajta anyag elég ahhoz, hogy egy ötlet szervleteket technológia.
servlet feladatok
- Olvasás explicit által küldött adatokat a kliens alkalmazás (form adatmezők)
- Olvasás implicit által küldött adatokat a kliens alkalmazás (például fejlécében)
- Az építőiparban a adatfeldolgozás eredményét.
- Küldés kifejezett adatokat vissza az ügyfélnek (például HTML adatok jelennek meg az oldalon).
- Küldés implicit adatokat vissza az ügyfél (az állapot kódokat, fejlécek válasz).
Így az ügyfél hozzáfér a servlet segítségével HTTP-kérések egyaránt tartalmazó űrlap adatokat, és a szükséges fejlécek. A servlet generál válaszul adott adatokat tartalmazza a különböző forrásokból származó különböző technikák alkalmazásával. Magát a szerver válasza mindig ugyanaz HTTP kérés.

egyszerű servlet
Tekintsük servleteket és különösen a példákban.
Servlet generál sima szöveges
Tekintsük a következő példát:

Elemezzük a kódot a fenti.
- @Webservlet ( „/ cím”) - absztrakt, amely tartalmazza a relatív útvonalát, servlet, az alább ismertetett részletek.
- doGet - módszer, amely felelős a feldolgozásra GET kéréseket. POST kérések doPost módszer
- HttpServletRequest - tartalmazza mindazt, amit már az ügyféltől kapott
- HttpServletResponse - használt adatokat küldeni az ügyfélnek. Főleg getWriter módszer, hogy a PrintWriter az útmutató adatokat az ügyfélnek.

A mi teszt szerver host - ez csak localhost, a projekt neve látható a projektek listáját, és az olyan magyarázat - a relatív útvonal meghatározott @Webservlet kommentárokat.
Servlet generál HTML kódot az oldal
Az eredmény az előző servlet csak egy szöveg, amely nem tartalmazhat HTML-címkéket. Annak érdekében, hogy teljes mértékben képeznek az oldalt a HTML, meg kell, hogy tartalmazza a szükséges címkét a válasz törzse, és állítsa a válasz fejlécében a „text / html”.
Másolja le az előző osztályban, és adjuk hozzá a változásokról:
Az eredmény a servlet:

Használata segítő osztályok
Forgalomba a logika a servlet indokolt csak nagyon egyszerű projektek, és többé-kevésbé súlyos, használja a kisegítő osztályok, hogy vezéreljék a következő elveket.
- Minden Java kód egy helyen. Ebben Eclipe src /<имя пакета>.
- Ne feledje, a OOP elvek. Ha bármilyen funkciót használják újra és újra, hogy azt a kisegítő osztályban.
Egy egyszerű példa
Az alábbiakban egy példa segítségével a kisegítő osztály, hogy létrehoz egy fejlécében az előző példában. Természetesen a generációs tiszta HTML valós alkalmazásoknál - a hálátlan feladat, akkor jobb használni JSP. De törekszünk, hogy az elvek a servlet és amíg használjuk a legegyszerűbb változat. Feltételezzük, hogy a termelés a oldal címe - gyakran használják alkalmassága, amely megtalálható minden projektünk szervletek generál HTML. Ezért nem lenne rendkívül hasznos, hogy ez a logika túl a servlet egy helper osztály:
Az ezzel osztály egy servlet így néz ki:
A böngészőben kiderül az összegyűjtött tárgyakat:

servlet életciklusa
Minden servlet végrehajtja a konkrét módszereket, amelyek meghatározzák annak életciklusa:
- init - Ezt a módszert nevezik, amikor a servlet első betöltésekor. Ez nem minden kéréssel.
- szolgáltatás - hívott egy új szál minden kérelem esetében. Kontrollált módszerek doGet, doPost, és így tovább. Ne iktassa ezt a módszert!
- doGet, doPost tegye. - igénybe venni, ha rendre a GET, POST és egyéb kérések. Felülbírálja ezek a módszerek kérések feldolgozására a kért típusú.
- elpusztítani - meghívásra, ha a kiszolgáló eltávolítja a servlet objektumot. Nem hívott után minden kérés.
Miért nem írhatja felül szolgáltatás
Ez a módszer nem egyszerűen az, hogy doGet, automatikusan kezeli HEAD, OPTIONS, TRACE kéréseket. Különböző kéréseket tudja kezelni a megfelelő módszerek (doPut, doTrace és stb.)
Eclipse projekt forráskód letölthető az alábbi linkre