Írta: tom1964h
Java servlet kiajánlása annotációval
Váltás az XML-ről annotációra
Annotáció használatával kikapcsolható a Deployment Descriptor (web.xml
) használata. A servlet közvetlenül kiajánlható.
Az EchoServlet.java
forrást módosítjuk:
először importálni kell az annotáció által hivatkozott könyvtárat
import.jakarta.servlet.annotation.WebServlet;
az EchoServlet osztálynév elé be kell szúrni:
@WebServlet(name = "t", urlPatterns = {"/tests/*"})
ezután újra kell fordítani az EchoServlet-et
a Tomcat servert újra kell indítani
A használhatóságban nincs különbség. Az annotációkat újabban többet használják, bár van olyan feladat, amikor az XML-es megoldás a jobb.
A Tomcat webalkalmazás singleton?
A Tomcat webalkalmazásunk csak egy példányban üzemel a Tomcat környezetén belül. Bárki indítja is el a szervert, ugyanazt a példányt fogja visszakapni, amely a JVM-en belül létezik :: ez singleton viselkedés, az osztályváltozók értéke mindenhol ugyanaz lesz :: de valójában nem singleton!
Annotációk használata a servletek esetében
Többféle annotációt használunk:
- @WebServlet(…) annotációval láthatjuk el a servletet (lásd fentebb)
- @Override annotációt szoktak kapni a következő metódusok (merthogy a HttpServlet-et terjeszti ki):
- doGet() metódus
- doPost() metódus
- getServletInfo() függvény
- init(): minden előtt ez az init() fut le: itt hozhatunk létre adatbázis kapcsolatot; itt olvashatunk ki egy config file-ból (lásd később) adatokat (vagy a servlet meghívásakor már megkapja a connection-t) (a
connector.jar
file-nak benne kell lennie a lib-ben) - destroy() mi legyen amikor leáll a server? DB lezárása, pl.