[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-servlety-chto-vy-znaete-o-pagecontext-i-kakie-preimushchestva-ego-ispolzovaniya":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},580,"chto-vy-znaete-o-pagecontext-i-kakie-preimushchestva-ego-ispolzovaniya",13,"servlety","Сервлеты","🖧","Что вы знаете о PageContext и какие преимущества его использования","`PageContext` — абстрактный класс `javax.servlet.jsp.PageContext`, экземпляр которого предоставляет единую точку доступа ко всем неявным объектам, областям видимости и сервисным методам JSP-страницы. Это «универсальный пульт управления» для JSP.\n\n### Возможности PageContext\n\n- **Доступ к атрибутам всех scope** — через единый API: `getAttribute(name, scope)`, `setAttribute(name, value, scope)`\n- **Доступ к неявным объектам** — `getRequest()`, `getResponse()`, `getSession()`, `getServletContext()`\n- **Получение JspWriter** — `getOut()` для записи в выходной поток\n- **Перенаправление** — `forward()` и `include()` для управления потоком запроса\n- **Обработка ошибок** — `handlePageException()` для перенаправления на error page\n\nКонстанты scope для метода `getAttribute()`:\n\n```java\npageContext.getAttribute(\"data\", PageContext.REQUEST_SCOPE);\npageContext.getAttribute(\"user\", PageContext.SESSION_SCOPE);\npageContext.setAttribute(\"count\", 42, PageContext.APPLICATION_SCOPE);\n```\n\n`PageContext` создаётся через `JspFactory.getPageContext()` и освобождается через `JspFactory.releasePageContext()`. Разработчику не нужно вызывать эти методы — контейнер делает это автоматически.\n\n> **На собеседовании:** ключевое преимущество — `PageContext` предоставляет единый API для работы со всеми scope. Вместо четырёх разных объектов (`request`, `session`, `application`, `page`) используется один метод с параметром scope.","","junior",[15],"servlets",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Что вы знаете о PageContext и какие преимущества его использ — Gymterview","`PageContext` — абстрактный класс `javax.servlet.jsp.PageContext`, экземпляр которого предоставляет единую точку доступа ко всем неявным объектам, областям види","`PageContext` — абстрактный класс `javax.servlet.jsp.PageContext`, экземпляр которого предоставляет единую точку доступа",[15,13],"`PageContext` — абстрактный класс `javax.servlet.jsp.PageContext`, экземпляр которого предоставляет единую точку доступа ко всем неявным объектам, областям видимости и сервисным методам JSP-страницы. Это «универсальный пульт управления» для JSP.",true]