Sobes.tech
Junior
162

Millised meetodid on ette nähtud küpsistega töötamiseks servletites?

Vastus AI-lt

sobes.tech AI

Servletites kasutatakse HttpServletRequest objekti meetodeid (küpsise saamiseks) ja HttpServletResponse (küpsise saatmiseks).

Küpsise saamine päringust:

  • Cookie[] getCookies(): Tagastab Cookie objektide massiivi, mis on saadud päringust. Kui küpsist ei ole, tagastab null.

Küpsise saatmine vastuses:

  • void addCookie(Cookie cookie): Lisab määratud Cookie objekti vastusele.

Cookie klass sisaldab järgmisi põhimeetodeid:

  • String getName(): Tagastab küpsise nime.
  • String getValue(): Tagastab küpsise väärtuse.
  • void setValue(String newValue): Määrab uue väärtuse.
  • String getPath(): Tagastab tee, mille kaudu küpsis on kättesaadav.
  • void setPath(String uri): Määrab tee küpsisele.
  • String getDomain(): Tagastab domeeni, mille jaoks küpsis kehtib.
  • void setDomain(String pattern): Määrab domeeni küpsisele.
  • int getMaxAge(): Tagastab küpsise maksimaalse eluea (sekundites). Negatiivne väärtus tähendab, et küpsis kehtib kuni brauseri sulgemiseni. 0 tähendab kustutamist.
  • void setMaxAge(int expiry): Määrab maksimaalse eluea.
  • boolean getSecure(): Tagastab true, kui küpsis peaks saatma ainult turvalise (HTTPS) ühenduse kaudu.
  • void setSecure(boolean flag): Määrab turvalise ühenduse märgi.
  • int getVersion(): Tagastab küpsise protokolli versiooni.
  • void setVersion(int v): Määrab versiooni.
  • boolean isHttpOnly(): Tagastab true, kui küpsis on saadaval ainult HTTP-päringute kaudu (mitte JavaScripti kaudu).
  • void setHttpOnly(boolean isHttpOnly): Määrab HttpOnly märgi.

Näide küpsise saamisest ja seadistamisest:

// Küpsise saamine päringust
Cookie[] cookies = request.getCookies();
if (cookies != null) {
    for (Cookie cookie : cookies) {
        if ("userName".equals(cookie.getName())) {
            String userName = cookie.getValue();
            // Kasutage väärtust
            break;
        }
    }
}

// Uue küpsise seadistamine vastuses
Cookie newCookie = new Cookie("language", "en");
newCookie.setMaxAge(60 * 60 * 24 * 30); // 30 päeva
response.addCookie(newCookie);