Sobes.tech
Junior

Ի՞նչ մեթոդներ կան սերվլետներում cookies-ի հետ աշխատելու համար։

sobes.tech AI

Պատասխան AI-ից

Սերվլետներում, cookie-ների հետ աշխատելու համար օգտագործվում են HttpServletRequest օբյեկտի մեթոդները (cookie ստանալու համար) և HttpServletResponse (cookie ուղարկելու համար):

Cookie ստանալու համար հարցումից:

  • Cookie[] getCookies(): Վերադարձնում է Cookie օբյեկտների զանգված, որոնք ստացվել են հարցումից: Եթե cookie չկա, վերադարձնում է null:

Cookie ուղարկելու համար պատասխանին:

  • void addCookie(Cookie cookie): Ավելացնում է նշված Cookie օբյեկտը պատասխանին:

Cookie դասը պարունակում է հետևյալ հիմնական մեթոդները:

  • String getName(): Վերադարձնում է cookie-ի անունը:
  • String getValue(): Վերադարձնում է cookie-ի արժեքը:
  • void setValue(String newValue): Կարգավորում է cookie-ի նոր արժեքը:
  • String getPath(): Վերադարձնում է ճանապարհը, որով հասանելի է cookie-ն:
  • void setPath(String uri): Կարգավորում է cookie-ի ճանապարհը:
  • String getDomain(): Վերադարձնում է դոմենը, որի համար cookie-ն է գործում:
  • void setDomain(String pattern): Կարգավորում է cookie-ի դոմենը:
  • int getMaxAge(): Վերադարձնում է cookie-ի առավելագույն կյանքը (վայրկյաններով): բացասական արժեքը նշանակում է, որ cookie-ն գոյություն ունի մինչև բրաուզերի փակումը: 0 նշանակում է cookie-ն ջնջել:
  • void setMaxAge(int expiry): Կարգավորում է cookie-ի առավելագույն կյանքը:
  • boolean getSecure(): Վերադարձնում է true, եթե cookie-ն պետք է ուղարկվի միայն պաշտպանված (HTTPS) կապի դեպքում:
  • void setSecure(boolean flag): Կարգավորում է անվտանգ կապի նշանը:
  • int getVersion(): Վերադարձնում է cookie-ի պրոտոկոլի տարբերակը:
  • void setVersion(int v): Կարգավորում է cookie-ի պրոտոկոլի տարբերակը:
  • boolean isHttpOnly(): Վերադարձնում է true, եթե cookie-ն հասանելի է միայն HTTP հարցումներով (չէ JavaScript-ով):
  • void setHttpOnly(boolean isHttpOnly): Կարգավորում է HttpOnly նշանը:

Օրինակ՝ cookie ստանալու և տեղադրելու համար:

// Cookie ստանում է հարցումից
Cookie[] cookies = request.getCookies();
if (cookies != null) {
    for (Cookie cookie : cookies) {
        if ("userName".equals(cookie.getName())) {
            String userName = cookie.getValue();
            // Օգտագործեք cookie արժեքը
            break;
        }
    }
}

// Նոր cookie տեղադրում է պատասխանին
Cookie newCookie = new Cookie("language", "en");
newCookie.setMaxAge(60 * 60 * 24 * 30); // 30 օր
response.addCookie(newCookie);