Sobes.tech
Junior

Milleks kasutatakse servletite atribuute ja kuidas nendega töötada?

sobes.tech AI

Vastus AI-lt

Servletite atribuudid kasutatakse andmete salvestamiseks ja edastamiseks erinevate komponentide vahel veebirakenduses määratletud nähtavuspiirkondades:

Peamised nähtavuspiirkonnad atribuutidele:

  1. HttpServletRequest: Andmed on saadaval ainult ühe HTTP-päringu töötlemise ajal.
  2. HttpSession: Andmed on saadaval kogu kasutaja sessiooni jooksul serveris.
  3. ServletContext: Andmed on saadaval kogu rakenduse elutsükli jooksul.

Andmetega töötamiseks kasutatakse vastavaid objekte:

  • Päringu atribuutide jaoks: HttpServletRequest
  • Sessiooni atribuutide jaoks: HttpSession
  • Konteksti atribuutide jaoks: ServletContext

Peamised meetodid atribuutidega töötamiseks (setAttribute, getAttribute, removeAttribute):

// Päringu atribuutidega töötamine
HttpServletRequest request = ...;
request.setAttribute("requestAttribute", "päringu väärtus"); // Atribuudi seadmine
String requestValue = (String) request.getAttribute("requestAttribute"); // Väärtuse saamine
request.removeAttribute("requestAttribute"); // Atribuudi eemaldamine

// Sessiooni atribuutidega töötamine
HttpSession session = request.getSession(); // Sessiooni saamine
session.setAttribute("sessionAttribute", "sessiooni väärtus");
String sessionValue = (String) session.getAttribute("sessionAttribute");
session.removeAttribute("sessionAttribute");

// Konteksti atribuutidega töötamine
ServletContext context = request.getServletContext(); // Konteksti saamine
context.setAttribute("contextAttribute", "konteksti väärtus");
String contextValue = (String) context.getAttribute("contextAttribute");
context.removeAttribute("contextAttribute");

Atribuutide kasutamine võimaldab komponentidel (servletid, JSP-d, filtrid) vahetada teavet ilma otsese sõltuvuseta. Näiteks võib servlet määrata päringu atribüüdi, mida seejärel loetakse ja kuvatakse JSP-s. Sessiooni atribuudid võivad salvestada teavet sisseloginud kasutaja kohta, mis on kättesaadav erinevatel lehtedel rakenduses.