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): Встановлює прапорець безпечного з'єднання для cookie.int getVersion(): Повертає версію протоколу cookie.void setVersion(int v): Встановлює версію протоколу cookie.boolean isHttpOnly(): Повертаєtrue, якщо cookie доступна лише через HTTP-запити (не через JavaScript).void setHttpOnly(boolean isHttpOnly): Встановлює прапорець HttpOnly для cookie.
Приклад отримання та встановлення 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);