[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-servlety-kakie-metody-dlya-raboty-s-cookies-predusmotreny-v-servletakh":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},555,"kakie-metody-dlya-raboty-s-cookies-predusmotreny-v-servletakh",13,"servlety","Сервлеты","🖧","Какие методы для работы с cookies предусмотрены в сервлетах","Servlet API предоставляет класс `javax.servlet.http.Cookie` для работы с cookies. Чтение и запись cookies выполняется через разные объекты — запрос и ответ соответственно.\n\n### Основные операции\n\n```java\n\u002F\u002F Чтение cookies из запроса\nCookie[] cookies = request.getCookies(); \u002F\u002F может вернуть null\nif (cookies != null) {\n    for (Cookie cookie : cookies) {\n        if (\"username\".equals(cookie.getName())) {\n            String value = cookie.getValue();\n        }\n    }\n}\n\n\u002F\u002F Создание и отправка cookie в ответе\nCookie cookie = new Cookie(\"username\", \"john\");\ncookie.setMaxAge(3600);      \u002F\u002F время жизни в секундах\ncookie.setHttpOnly(true);     \u002F\u002F недоступен из JS\ncookie.setSecure(true);       \u002F\u002F только по HTTPS\nresponse.addCookie(cookie);\n\n\u002F\u002F Удаление cookie (установка maxAge = 0)\nCookie cookie = new Cookie(\"username\", \"\");\ncookie.setMaxAge(0);\nresponse.addCookie(cookie);\n```\n\nВажная особенность API: `HttpServletRequest` предоставляет только `getCookies()` (чтение), `HttpServletResponse` — только `addCookie()` (запись). Методов для удаления cookie нет — для удаления нужно отправить cookie с тем же именем и `maxAge = 0`.\n\n> **На собеседовании:** упомяните, что `getCookies()` может вернуть `null` (не пустой массив), и что удаление cookie — это отправка cookie с `maxAge = 0`. Это частые ловушки.","","junior",[15],"servlets",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Какие методы для работы с cookies предусмотрены в сервлетах — Gymterview","Servlet API предоставляет класс `javax.servlet.http.Cookie` для работы с cookies. Чтение и запись cookies выполняется через разные объекты — запрос и ответ соот","Servlet API предоставляет класс `javax.servlet.http.Cookie` для работы с cookies. Чтение и запись cookies выполняется че",[15,13],"Servlet API предоставляет класс `javax.servlet.http.Cookie` для работы с cookies. Чтение и запись cookies выполняется через разные объекты — запрос и ответ соответственно.",true]