Объекты на странице JSP, включая объекты, созданные пользователем (например, объекты JavaBean) и неявные объекты JSP, имеют атрибут области действия. Область определяет, в течение какого времени и на какой странице JSP можно получить доступ к этим объектам. Например, во время сеанса к объекту сеанса можно получить доступ на нескольких страницах. Доступ к объекту приложения возможен на протяжении всего жизненного цикла веб-приложения. В JSP существует 4 типа областей, как показано ниже.
·диапазон страниц
Объекты с областью действия страницы привязаны к объекту javax.servlet.jsp.PageContext. Доступ к объектам в этой области возможен только на той странице, где объект был создан. Вы можете вызвать метод getAttribute() неявного объекта pageContext для доступа к объектам с этим типом области (объект pageContext также предоставляет методы getAttribute для доступа к другим объектам области). Сам объект pageContext также принадлежит области страницы. Когда выполняется метод _jspService() класса Servlet, ссылка на объект, принадлежащий области страницы, будет отброшена. Объекты в области страницы создаются каждый раз, когда клиент запрашивает страницу JSP, и удаляются после того, как страница отправляет ответ обратно клиенту или запрос пересылается другим ресурсам.
·Объем запроса
Объекты с областью запроса привязаны к объекту javax.servlet.ServletRequest. Вы можете вызвать метод getAttribute() неявного объекта запроса для доступа к объектам с этим типом области. Доступ к объектам в этом диапазоне можно получить на перенаправленной странице, вызвав метод вперед(), или на включенной странице, вызвав метод include(). Следует отметить, что поскольку объект запроса различен для каждого клиентского запроса, объекты в этой области необходимо воссоздавать и удалять для каждого нового запроса.
· объем сеанса
Объекты с областью действия сеанса привязаны к объекту javax.servlet.http.HttpSession. Вы можете вызвать метод getAttribute() неявного объекта сеанса для доступа к объектам с этим типом области действия. Контейнер JSP создает объект HttpSession для каждого сеанса. Во время сеанса можно получить доступ к объектам в области сеанса.
· область применения
Объекты с областью действия приложения привязаны к javax.servlet.ServletContext. Вы можете вызвать метод getAttribute() неявного объекта приложения для доступа к объектам с этим типом области действия. Пока веб-приложение работает, все страницы могут получать доступ к объектам в этой области.