Í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
  • @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.