Objetos implícitos JSP são objetos Java fornecidos pelo contêiner JSP para cada página. Os desenvolvedores podem usá-los diretamente, sem declaração explícita. Objetos implícitos JSP também são conhecidos como variáveis predefinidas.
Nove objetos implícitos suportados por JSP:
objeto | descrever |
---|---|
solicitar | Instância da classe HttpServletRequest |
resposta | Instância da classe HttpServletResponse |
fora | Uma instância da classe PrintWriter , usada para gerar resultados em uma página da web |
sessão | Instância da classe HttpSession |
aplicativo | Uma instância da classe ServletContext , relacionada ao contexto do aplicativo |
configuração | Instância da classe ServletConfig |
pageContext | Uma instância da classe PageContext , fornecendo acesso a todos os objetos e namespaces da página JSP |
página | Semelhante a esta palavra-chave em classes Java |
Exceção | Um objeto da classe Exception representa o objeto de exceção correspondente na página JSP onde ocorreu o erro. |
O objeto de solicitação é uma instância da classe javax.servlet.http.HttpServletRequest. Sempre que um cliente solicita uma página JSP, o mecanismo JSP cria um novo objeto de solicitação para representar a solicitação.
O objeto request fornece uma série de métodos para obter informações de cabeçalho HTTP, cookies, métodos HTTP, etc.
O objeto de resposta é uma instância da classe javax.servlet.http.HttpServletResponse. Quando o servidor cria o objeto de solicitação, ele também cria um objeto de resposta para responder ao cliente.
O objeto de resposta também define a interface para processar módulos de cabeçalho HTTP. Através deste objeto, os desenvolvedores podem adicionar novos cookies, carimbos de data/hora, códigos de status HTTP, etc.
O objeto out é uma instância da classe javax.servlet.jsp.JspWriter e é usado para gravar conteúdo no objeto de resposta.
O objeto da classe JspWriter inicial executa diferentes operações de instanciação dependendo se a página está armazenada em cache. O cache pode ser facilmente desativado usando o atributo buffered='false' na diretiva da página.
A classe JspWriter contém a maioria dos métodos da classe java.io.PrintWriter. No entanto, o JspWriter adicionou alguns novos métodos projetados especificamente para lidar com o cache. Além disso, a classe JspWriter lançará IOExceptions, mas PrintWriter não.
A tabela a seguir lista os métodos importantes que usaremos para gerar boolean, char, int, double, String, object e outros tipos de dados:
método | descrever |
---|---|
saída.print(dataType dt) | Valor do tipo de saída |
out.println(dataType dt) | Produza o valor do tipo Type e, em seguida, envolva a linha |
saída.flush() | Limpe o fluxo de saída |
O objeto de sessão é uma instância da classe javax.servlet.http.HttpSession. Tem o mesmo comportamento do objeto de sessão em Java Servlets.
O objeto de sessão é usado para rastrear sessões entre solicitações de clientes.
O objeto aplicativo envolve diretamente o objeto da classe ServletContext do servlet e é uma instância da classe javax.servlet.ServletContext.
Este objeto representa a página JSP durante todo o seu ciclo de vida. Este objeto é criado quando a página JSP é inicializada e é removido quando o método jspDestroy() é chamado.
Ao adicionar propriedades ao seu aplicativo, essas propriedades ficam acessíveis a todos os arquivos JSP que compõem seu aplicativo da web.
O objeto de configuração é uma instância da classe javax.servlet.ServletConfig, que envolve diretamente o objeto da classe ServletConfig do servlet.
Este objeto permite que os desenvolvedores acessem os parâmetros de inicialização do mecanismo Servlet ou JSP, como caminhos de arquivos, etc.
A seguir está como usar o objeto de configuração. Não é muito importante, portanto não é comumente usado:
config.getServletName();Ele retorna o nome do servlet contido no elemento <servlet-name>. Observe que o elemento <servlet-name> está definido no arquivo WEB-INFweb.xml.
O objeto pageContext é uma instância da classe javax.servlet.jsp.PageContext e é usado para representar a página JSP inteira.
Este objeto é usado principalmente para acessar informações da página enquanto filtra a maioria dos detalhes de implementação.
Este objeto armazena referências ao objeto de solicitação e ao objeto de resposta. O objeto de aplicação, o objeto de configuração, o objeto de sessão e o objeto out podem ser exportados acessando as propriedades deste objeto.
O objeto pageContext também contém as informações de instrução passadas para a página JSP, incluindo informações de cache, URL da ErrorPage, escopo da página, etc.
A classe PageContext define alguns campos, incluindo PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE e APPLICATION_SCOPE. Ele também fornece mais de 40 métodos, metade dos quais herdados da classe javax.servlet.jsp.JspContext.
Um dos métodos importantes é removeArribute(), que aceita um ou dois parâmetros. Por exemplo, pageContext.removeArribute("attrName") remove atributos relacionados em quatro escopos, mas o método a seguir remove apenas atributos relacionados em um escopo específico:
pageContext.removeAttribute("NomeAtributo", PAGE_SCOPE);Este objeto é uma referência à instância da página. Pode ser considerado um representante de toda a página JSP.
O objeto de página é sinônimo deste objeto.
O objeto de exceção agrupa informações de exceção lançadas da página anterior. É frequentemente usado para gerar respostas apropriadas a condições de erro.