Junior
Servletlarda cookie bilan ishlash uchun qanday usullar ko'zda tutilgan?
sobes.tech AI
AIdan javob
Servletlarda, HttpServletRequest obyekti metodlari (cookie olish uchun) va HttpServletResponse obyekti metodlari (cookie yuborish uchun) ishlatiladi.
So'rovdan cookie olish:
Cookie[] getCookies(): So'rovda olinganCookieob'ektlarining massivini qaytaradi. Agar cookie bo'lmasa,nullqaytaradi.
Javobga cookie yuborish:
void addCookie(Cookie cookie): BelgilanganCookieob'ektini javobga qo'shadi.
Cookie sinfi quyidagi asosiy metodlarni o'z ichiga oladi:
String getName(): Cookie nomini qaytaradi.String getValue(): Cookie qiymatini qaytaradi.void setValue(String newValue): Cookie uchun yangi qiymat o'rnatadi.String getPath(): Cookie mavjud bo'lgan yo'lni qaytaradi.void setPath(String uri): Cookie uchun yo'lni o'rnatadi.String getDomain(): Cookie uchun amal qiladigan domenni qaytaradi.void setDomain(String pattern): Cookie uchun domenni o'rnatadi.int getMaxAge(): Cookie ning maksimal yashash vaqtini (sekundlarda) qaytaradi. Salbiy qiymat cookie ning brauzer yopilguncha mavjudligini anglatadi. 0 cookie ni o'chirish uchun.void setMaxAge(int expiry): Cookie ning maksimal yashash vaqtini o'rnatadi.boolean getSecure():truebo'lsa, cookie faqat xavfsiz (HTTPS) ulanish orqali yuborilishi kerak.void setSecure(boolean flag): Cookie uchun xavfsiz ulanish flagini o'rnatadi.int getVersion(): Cookie protokol versiyasini qaytaradi.void setVersion(int v): Cookie protokol versiyasini o'rnatadi.boolean isHttpOnly():truebo'lsa, cookie faqat HTTP so'rovlar orqali mavjud (JavaScript orqali emas).void setHttpOnly(boolean isHttpOnly): Cookie uchun HttpOnly flagini o'rnatadi.
Cookie olish va o'rnatish misoli:
// So'rovdan cookie olish
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if ("userName".equals(cookie.getName())) {
String userName = cookie.getValue();
// Cookie qiymatini foydalaning
break;
}
}
}
// Javobga yangi cookie o'rnatish
Cookie newCookie = new Cookie("language", "en");
newCookie.setMaxAge(60 * 60 * 24 * 30); // 30 kun davomida
response.addCookie(newCookie);