Objetos em uma página JSP, incluindo objetos criados pelo usuário (por exemplo, objetos JavaBean) e objetos JSP implícitos, possuem um atributo de escopo. O escopo define em que horário e em qual página JSP esses objetos podem ser acessados. Por exemplo, o objeto de sessão pode ser acessado em diversas páginas durante a sessão. O objeto de aplicação pode ser acessado durante todo o ciclo de vida da aplicação web. Em JSP, existem 4 tipos de escopos, conforme mostrado abaixo.
·intervalo de páginas
Objetos com escopo de página são vinculados ao objeto javax.servlet.jsp.PageContext. Os objetos dentro deste escopo só podem ser acessados na página onde o objeto foi criado. Você pode chamar o método getAttribute() do objeto implícito pageContext para acessar objetos com este tipo de escopo (o objeto pageContext também fornece métodos getAttribute para acessar outros objetos de escopo). Quando o método _jspService() da classe Servlet for executado, a referência ao objeto pertencente ao escopo da página será descartada. Os objetos no escopo da página são criados sempre que o cliente solicita uma página JSP e são excluídos depois que a página envia uma resposta de volta ao cliente ou a solicitação é encaminhada para outros recursos.
·Solicitar escopo
Objetos com escopo de solicitação são vinculados ao objeto javax.servlet.ServletRequest. Você pode chamar o método getAttribute() do objeto implícito de solicitação para acessar objetos com esse tipo de escopo. Os objetos neste intervalo podem ser acessados na página redirecionada chamando o método forward() ou na página incluída chamando o método include(). Deve-se observar que, como o objeto da solicitação é diferente para cada solicitação do cliente, os objetos deste escopo devem ser recriados e excluídos a cada nova solicitação.
·escopo da sessão
Objetos com escopo de sessão são vinculados ao objeto javax.servlet.http.HttpSession. Você pode chamar o método getAttribute() do objeto implícito de sessão para acessar objetos com esse tipo de escopo. O contêiner JSP cria um objeto HttpSession para cada sessão. Durante a sessão, os objetos dentro do escopo da sessão podem ser acessados.
·escopo de aplicação
Objetos com escopo de aplicativo são vinculados a javax.servlet.ServletContext. Você pode chamar o método getAttribute() do objeto implícito de aplicativo para acessar objetos com esse tipo de escopo. Enquanto o aplicativo Web está em execução, todas as páginas podem acessar objetos nesse escopo.