Junior
რა მეთოდები არსებობს სერვლეტებში cookies-ის სამუშაოდ?
sobes.tech AI
პასუხი AI-სგან
სერვლეტებში, კუკიებთან მუშაობისთვის გამოიყენება HttpServletRequest ობიექტის მეთოდები (კუკის მიღებისთვის) და HttpServletResponse (კუკის გაგზავნისთვის).
კუკის მიღება მოთხოვნიდან:
Cookie[] getCookies(): აბრუნებსCookieობიექტების მასივს, რომელიც მიღებულია მოთხოვნიდან. თუ კუკი არ არის, აბრუნებსnull.
კუკის გაგზავნა პასუხში:
void addCookie(Cookie cookie): დამატებს მითითებულCookieობიექტს პასუხში.
Cookie კლასი შეიცავს შემდეგ ძირითად მეთოდებს:
String getName(): აბრუნებს კუკის სახელს.String getValue(): აბრუნებს კუკის მნიშვნელობას.void setValue(String newValue): ადგენს ახალი მნიშვნელობას.String getPath(): აბრუნებს გზას, სადაც კუკი ხელმისაწვდომია.void setPath(String uri): ადგენს კუკის გზას.String getDomain(): აბრუნებს დომენს, სადაც კუკი მოქმედებს.void setDomain(String pattern): ადგენს დომენს.int getMaxAge(): აბრუნებს კუკის მაქსიმალურ სიცოცხლის ხანგრძლივობას (წამებში). უარყოფითი მნიშვნელობა ნიშნავს, რომ კუკი მოქმედებს ბრაუზერის დახურვამდე. 0 ნიშნავს წაშლას.void setMaxAge(int expiry): ადგენს მაქსიმალურ სიცოცხლის ხანგრძლივობას.boolean getSecure(): აბრუნებსtrue, თუ კუკი უნდა გაიგზავნოს მხოლოდ დაცულ (HTTPS) კავშირზე.void setSecure(boolean flag): ადგენს უსაფრთხო კავშირის ნიშანს.int getVersion(): აბრუნებს კუკის პროტოკოლის ვერსიას.void setVersion(int v): ადგენს ვერსიას.boolean isHttpOnly(): აბრუნებსtrue, თუ კუკი ხელმისაწვდომია მხოლოდ HTTP მოთხოვნებით (JavaScript-ით არა).void setHttpOnly(boolean isHttpOnly): ადგენს HttpOnly ნიშანს.
მაგალითი კუკის მიღებისა და დაყენების:
// კუკის მიღება მოთხოვნიდან
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if ("userName".equals(cookie.getName())) {
String userName = cookie.getValue();
// გამოიყენეთ მნიშვნელობა
break;
}
}
}
// ახალი კუკის დაყენება პასუხში
Cookie newCookie = new Cookie("language", "en");
newCookie.setMaxAge(60 * 60 * 24 * 30); // 30 დღე
response.addCookie(newCookie);