Los objetos en una página JSP, incluidos los objetos creados por el usuario (por ejemplo, objetos JavaBean) y los objetos JSP implícitos, tienen un atributo de alcance. El alcance define dentro de qué hora y en qué página JSP se puede acceder a estos objetos. Por ejemplo, se puede acceder al objeto de sesión en varias páginas durante la sesión. Se puede acceder al objeto de la aplicación durante todo el ciclo de vida de la aplicación web. En JSP, existen 4 tipos de ámbitos, como se muestra a continuación.
·rango de páginas
Los objetos con alcance de página están vinculados al objeto javax.servlet.jsp.PageContext. Solo se puede acceder a los objetos dentro de este alcance en la página donde se creó el objeto. Puede llamar al método getAttribute () del objeto implícito pageContext para acceder a objetos con este tipo de alcance (el objeto pageContext también proporciona métodos getAttribute para acceder a otros objetos de alcance. El objeto pageContext en sí también pertenece al alcance de la página). Cuando se ejecuta el método _jspService() de la clase Servlet, se descartará la referencia al objeto que pertenece al alcance de la página. Los objetos en el alcance de la página se crean cada vez que el cliente solicita una página JSP y se eliminan después de que la página envía una respuesta al cliente o la solicitud se reenvía a otros recursos.
·Alcance de la solicitud
Los objetos con alcance de solicitud están vinculados al objeto javax.servlet.ServletRequest. Puede llamar al método getAttribute() del objeto implícito de solicitud para acceder a objetos con este tipo de alcance. Se puede acceder a los objetos en este rango en la página redirigida llamando al método forward() o a la página incluida llamando al método include(). Cabe señalar que debido a que el objeto de solicitud es diferente para cada solicitud de cliente, los objetos en este alcance deben recrearse y eliminarse para cada nueva solicitud.
·alcance de la sesión
Los objetos con alcance de sesión están vinculados al objeto javax.servlet.http.HttpSession. Puede llamar al método getAttribute() del objeto implícito de sesión para acceder a objetos con este tipo de alcance. El contenedor JSP crea un objeto HttpSession para cada sesión. Durante la sesión, se puede acceder a los objetos dentro del alcance de la sesión.
· ámbito de aplicación
Los objetos con alcance de aplicación están vinculados a javax.servlet.ServletContext. Puede llamar al método getAttribute() del objeto implícito de la aplicación para acceder a objetos con este tipo de alcance. Mientras la aplicación web se está ejecutando, todas las páginas pueden acceder a objetos en este ámbito.