TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #871 3.2K
🤔 Какие области видимости переменных существуют в JSP ?

Существуют четыре основные области видимости (scopes) переменных, которые определяют, сколько времени переменная будет доступна и где она может быть использована. Это page, request, session и application.

🚩Области видимости переменных в JSP

🟠Page Scope
Переменная с областью видимости страницы доступна только на текущей странице JSP. Существует только во время обработки текущей страницы. Локальные переменные, необходимые только в пределах одной страницы.

🟠Request Scope
Переменная с областью видимости запроса доступна во всех JSP, сервлетах и других ресурсах, которые обрабатывают текущий HTTP-запрос. Существует до тех пор, пока запрос не будет завершен. Данные, которые нужно передать между несколькими сервлетами и JSP в пределах одного запроса.

🟠Session Scope
Переменная с областью видимости сессии доступна во всех JSP, сервлетах и других ресурсах, которые обрабатывают запросы от конкретного пользователя в рамках одной сессии. Существует до завершения сессии (например, закрытие браузера или истечение времени сессии). Данные, которые должны сохраняться между запросами одного пользователя, например, информация о вошедшем пользователе.

🟠Application Scope
Переменная с областью видимости приложения доступна во всех JSP, сервлетах и других ресурсах в пределах всего веб-приложения. Существует до тех пор, пока приложение работает на сервере. Данные, которые должны быть доступны всем пользователям и запросам, например, конфигурационные параметры приложения.

🚩Пример использования всех областей видимости

Локальная переменная, которая используется только на одной странице (page scope). Временные данные для текущего запроса (request scope). Данные пользователя для текущей сессии (session scope). Глобальные данные для всего приложения (application scope).
@WebServlet("/example")
public class ExampleServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Request scope
request.setAttribute("requestVar", "Request Scoped Variable");

// Session scope
HttpSession session = request.getSession();
session.setAttribute("sessionVar", "Session Scoped Variable");

// Application scope
ServletContext context = getServletContext();
context.setAttribute("appVar", "Application Scoped Variable");

// Forward to JSP
RequestDispatcher dispatcher = request.getRequestDispatcher("example.jsp");
dispatcher.forward(request, response);
}
}


JSP (example.jsp)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Scope Example</title>
</head>
<body>
<h1>Scope Example</h1>
<p>Request Scope: <%= request.getAttribute("requestVar") %></p>
<p>Session Scope: <%= session.getAttribute("sessionVar") %></p>
<p>Application Scope: <%= application.getAttribute("appVar") %></p>

<%! String pageVar = "Page Scoped Variable"; %>
<p>Page Scope: <%= pageVar %></p>
</body>
</html>


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 4
More from @easy_java_ru
  1. Oct 9, 2026🤔 Что такое «HTML»? HTML (HyperText Markup Language) — это язык разметки, используемый дл…
  2. Oct 9, 2026🤔 В чём различие между LeftJoin , RightJoin и InnerJoin? LEFT JOIN, RIGHT JOIN и INNER JO…
  3. Oct 8, 2026Post #2955
  4. Oct 8, 2026🤔 Что такое поток "демон"? Демон-поток — это поток, который: - Работает на фоне (например…
  5. Oct 7, 2026🤔 Может ли Entity-класс быть абстрактным? Да, Entity может быть абстрактным, если он служ…
  6. Oct 7, 2026🤔 К какой категории сущности относится Primary Key? Primary Key (первичный ключ) в базах…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →