Slide 1
Conceito Instanciados pelo próprio contêiner. Disponíveis em quaisquer páginas JSP. Instruções de criação inseridas no método _jspservice( ). Slide 2
Identificação e tipo Identificação Tipo application Interface javax.servlet.servletcontext. config Interface javax.servlet.servletconfig. exception Classe java.lang.throwable. out Classe javax.servlet.jsp.jspwriter. page Interface javax.servlet.jsp.httpjsppage. pagecontext Classe javax.servlet.jsp.pagecontext. request Interface javax.servlet.http.httpservletrequest. response Interface javax.servlet.http.httpservletresponse. session Interface javax.servlet.http.httpsession. Slide 3
Objeto page Implementa a interface javax.servlet.jsp.httpjsppage. Representa a própria página JSP. Instrução que instancia o objeto page: Object page = this; Projeto 5.1 index.jsp Slide 4
Objeto config Implementa a interface javax.servlet.servletcontext. utilizado para obter informações de inicialização da JSP. Instrução que instancia o objeto page: config = pagecontext.getservletconfig(); Objeto pouco utilizado. Slide 5
Objeto response Implementa a interface javax.servlet.http.httpservletresponse. Representa a resposta a ser produzida pela JSP. É um parâmetro do método _jspservice( ): public void _jspservice(httpservletrequest request, HttpServletResponse response) Slide 6
Métodos do objeto response Assinatura Descrição public void addcookie(cookie cookie) Adiciona um cookie à resposta e pode ser utilizado múltiplas vezes para adicionar vários cookies. public void flushbuffer( ) Força qualquer conteúdo do buffer a ser escrito para o cliente. public int getbuffersize( ) Retorna o tamanho atual do buffer utilizado para a resposta. public String getcontenttype( ) Retorna o tipo de conteúdo da resposta. public void senderror(int código) Envia uma resposta de erro para o cliente com o código especificado. public void senderror(int código, String msg) Envia uma resposta de erro para o cliente com o código e mensagem especificados. public void setbuffersize(int tamanho) Define o tamanho do buffer para o corpo da resposta. public void setcontenttype(string tipo) Define o tipo de conteúdo da resposta a ser enviada para o cliente. public void setheader(string nome, String valor) Configura um cabeçalho de resposta com o nome e valor especificados. Slide 7
Objeto response Projeto 5.2 index.jsp Slide 8
Objeto out É uma instância da classe javax.servlet.jsp.jspwriter. Utilizado dentro de scriptlets. Empregado para produzir saídas dinâmicas. Projeto 5.3 index.jsp Slide 9
Objeto pagecontext Uma instância de alguma subclasse da classe abstrata javax.servlet.jsp.pagecontext. Gerado e utilizado no método _jspservice( ): _jspxfactory = JspFactory.getDefaultFactory(); pagecontext = _jspxfactory.getpagecontext(this, request, response, null, true, 8192, true); application = pagecontext.getservletcontext(); config = pagecontext.getservletconfig(); out = pagecontext.getout(); session = pagecontext.getsession(); Também oferece acesso aos demais objetos implícitos: exception = pagecontext.getexception(); page = (HttpJspPage)pageContext.getPage(); request = (HttpServletRequest)pageContext.getRequest(); response = (HttpServletResponse)pageContext.getResponse(); Slide 10
Métodos do objeto pagecontext Assinatura Descrição public Object findattribute (String nome) Busca por um atributo nos escopos de página, requisição, sessão e aplicação. public void forward (String url) Encaminha a requisição para outro componente da aplicação. public Object getattribute (String nome) Recupera um atributo associado ao nome especificado no escopo de página. public Object getattribute (String nome, int escopo) Recupera um atributo associado ao nome e ao escopo especificados. public Enumeration getattributenamesinscope (int escopo) Enumera os nomes de todos os atributos contidos no escopo especificado. public void removeattribute (String nome) Remove o atributo associado ao nome especificado de todos os escopos. public void removeattribute (String nome, int escopo) Remove o atributo associado ao nome e ao escopo especificados. public void setattribute (String nome, Object valor) Registra um atributo com o nome e o valor especificados no escopo de página. public void setattribute (String nome, Object valor, int escopo) Registra um atributo com o nome, o valor e no escopo especificados. Slide 11
Atributos do objeto pagecontext Assinatura Descrição public static final int PAGE_SCOPE Representa o escopo de página. public static final int REQUEST_SCOPE Representa o escopo de requisição. public static final int SESSION_SCOPE Representa o escopo de sessão. public static final int APPLICATION_SCOPE Representa o escopo de aplicação. Slide 12
Objeto pagecontext Projeto 5.4 index.jsp pagina2.jsp Slide 13
Objeto request Implementa a interface javax.servlet.http.httpservletrequest. É um parâmetro do método _jspservice( ): public void _jspservice(httpservletrequest request, HttpServletResponse response) Representa a requisição recebida pela JSP. Slide 14
Métodos do objeto request Assinatura Descrição public Object getattribute (String nome) Recupera um atributo associado especificado no escopo de requisição. public Enumeration getattributenames () Enumera os nomes de todos os atributos contidos no escopo de requisição. public Cookie[] getcookies ( ) Recupera os cookies da aplicação que se encontram gravados na máquina cliente. public String getparameter (String nome) Retorna o valor do parâmetro especificado. public Enumeration getparameternames ( ) Retorna o nome de todos os parâmetros da requisição. public String[] getparametervalues (String nome) Retorna todos os valores contidos no parâmetro especificado. public void removeattribute (String nome) Remove o atributo especificado do escopo de requisição. public void setattribute (String nome, Object valor) Registra um atributo com o nome e o valor especificados no escopo de requisição. ao nome Slide 15
Objeto request Projeto 5.5 index.jsp gravar.jsp Slide 16
Objeto session Implementa a interface javax.servlet.http.httpsession. Possibilita identificar o usuário por mais que uma página. Slide 17
Métodos do objeto session Assinatura Descrição public Object getattribute(string nome) Recupera o atributo especificado do escopo de sessão. public Enumeration getattibutenames ( ) Retorna os nomes de todos os atributos armazenados no escopo de sessão. public long getcreationtime ( ) Retorna a data e a hora em que a sessão foi criada em milisegundos. public String getid ( ) Retorna o identificador único atribuído à sessão. public int getmaxinactiveinterval ( ) Recupera o tempo pelo qual a sessão é mantida pelo contêiner entre dois acessos. public void invalidade( ) Invalida a sessão, removendo todos os seus atributos. public boolean isnew( ) Retorna true se o cliente ainda não estiver utilizando a sessão. public void removeattribute (String nome) Remove o atributo especificado do escopo de sessão. public void setattribute(string nome, Object valor) Grava um novo atributo na sessão com o nome e valor especificados. public void intervalo) Especifica o tempo que a sessão deve ser mantida ativa pelo contêiner entre dois acessos. setmaxinactiveinterval (int Slide 18
Objeto session Projeto 5.6 index.jsp gravar.jsp exibir.jsp Slide 19
Objeto application Implementa a interface javax.servlet.servletcontext. Representa a própria aplicação. Slide 20
Métodos do objeto application Assinatura Descrição public Object getattribute(string nome) Recupera o atributo especificado do escopo de aplicação. public Enumeration getattibutenames ( ) Retorna os nomes de todos os atributos armazenados no escopo de aplicação. public String getinitparameter(string nome) Retorna o parâmetro de inicialização especificado ou null se não for encontrado. public Enumeration getinitparamternames ( ) Retorna os nomes de todos os parâmetros de inicialização. public String getrealpath(string caminho) Retorna o caminho real relativo do caminho virtual especificado. public RequestDispatcher getrequestdispatcher(string url) Recupera um objeto que pode ser utilizado para encaminhar a solicitação para a URL local indicada. public void log(string msg) Escreve a mensagem no arquivo de log de um servlet. public void log(string msg, Throwable erro) Escreve uma mensagem descritiva e a pilha de erro de uma exceção especificada. public void removeattribute (String nome) Remove o atributo especificado do escopo de aplicação. public void setattribute(string nome, Object valor) Grava um novo atributo no escopo de aplicação. Slide 21
Objeto application Projeto 5.7 index.jsp consultar.jsp Slide 22
Objeto exception É uma instância da classe java.lang.throwable. Utilizado para o tratamento de exceções. Só está disponível em páginas de erro, ou seja, páginas JSP que definem o atributo iserrorpage da diretiva page como true. Slide 23
Objeto exception Projeto 5.8 index.jsp calcular.jsp erro.jsp Slide 24
Exercício 1 Crie uma nova aplicação através da qual os usuários possam registrar os seus dados sócio-econômicos. Ela deve ser composta por duas páginas JSP e cada uma delas deverá realizar uma tarefa distinta, como segue: index.jsp: esta deve ser a página inicial da aplicação e deve apresentar o formulário HTML para que o usuário informe seus dados. processar.jsp: esta é a pagina a ser carregada quando o botão enviar da página inicial for pressionado e deve receber e exibir os dados informados pelo usuário. Na caixa de combinação onde o usuário deve indicar seu nível de escolaridade, insira as seis opções a seguir: ensino fundamental, ensino médio, graduação, especialização, mestrado e doutorado. Slide 25
Exercício 1 Slide 26
Exercício 2 Crie uma nova aplicação através da qual o usuário possa escolher uma configuração de fonte desejada. Ela deve ser composta por duas páginas JSP e cada uma delas deverá realizar uma tarefa distinta, como segue: index.jsp: esta deve ser a página inicial da aplicação e deve apresentar o formulário HTML para que o usuário selecione as configurações de fonte. modelo.jsp: esta é a pagina a ser carregada quando o botão Visualizar da página inicial for pressionado e deve receber e exibir os dados informados pelo usuário. Ela também deve conter um painel de visualização com um modelo de texto formatado com as opções selecionadas pelo usuário. Na caixa de combinação onde o usuário deve selecionar o tamanho da fonte, insira sete opções: 1, 2, 3, 4, 5, 6 e 7. Slide 27
Exercício 2 Slide 28
Exercício 3 Crie uma nova aplicação que capte um único caractere e informe qual é o seu código na tabela ASCII. Esta aplicação deve ser composta por três páginas JSP e cada uma delas deverá realizar uma tarefa distinta, como segue: index.jsp: esta deve ser a página inicial da aplicação e deve apresentar o formulário HTML para que seja informado um caractere qualquer. resposta.jsp: deve captar o caractere informado e exibir o seu código na tabela ASCII. Se nenhum caractere tiver sido informado ou se tiver sido informado mais que um caractere, esta página deve lançar uma exceção do tipo java.lang.exception. erro.jsp: esta é a página de erro da aplicação e deve ser chamada se ocorrer alguma exceção em qualquer uma das demais páginas. Slide 29
Exercício 3 Slide 30
Exercício 4 Crie uma nova aplicação que capte um numero inteiro e exiba a tabuada do mesmo. Esta aplicação deve ser composta por três páginas JSP e cada uma delas deverá realizar uma tarefa distinta, como segue: index.jsp: esta deve ser a página inicial da aplicação e deve apresentar o formulário HTML para que seja informado um número. tabuada.jsp: deve captar o número informado e exibir a sua tabuada. Se o dado informado não for um número inteiro, esta página deve lançar uma exceção do tipo java.lang.numberformatexception. erro.jsp: esta é a página de erro da aplicação e deve ser chamada se ocorrer alguma exceção em qualquer uma das demais páginas. Slide 31
Exercício 4 Slide 32
Exercício 5 Crie uma nova aplicação que possibilite o registro e a gravação daqueles itens de compra que representam os bens que você mais anseia adquirir. Esta aplicação deve ser composta por três páginas JSP e cada uma delas deverá realizar uma tarefa distinta, como segue: index.jsp: Deve apresentar um campo de texto e dois botões. Você informará o item de compra no campo e pressionará o botão Incluir para gravá-lo. Quando o botão Incluir for pressionado, a página incluir.jsp deverá ser carregada e o botão Consultar servirá para carregar a página consultar.jsp. incluir.jsp: deve captar o item de compra informado, gravá-lo como um atributo no escopo de sessão e exibir uma página confirmando sua gravação. Também deve conter um botão para voltar à página inicial. consultar.jsp: Esta página deve recuperar todos os itens de compras gravados anteriormente na sessão e exibi-los. Também deve conter um botão para voltar à página inicial. Slide 33
Exercício 5 Slide 34
Exercício 6 Crie uma nova aplicação que capte dois números inteiros e monte uma tabela com o números de linhas e de colunas informados. Esta aplicação deve ser composta por duas páginas JSP: index.jsp: deve apresentar um formulário HTML para que o usuário informe o número de linhas e de colunas desejados. tabela.jsp: deve apresentar uma tabela HTML com o número de linhas e de colunas informados. Cada célula da tabela deve apresentar o número inteiro que corresponde à soma do número da linha com o número da coluna. Todos os números devem ser apresentados em negrito. O fundo de todas as células que contém números pares deve ser amarelo e a cor da fonte azul escuro. As demais células devem ter o fundo azul escuro e a fonte amarela. Slide 35
Exercício 6 Slide 36
Exercício 7 Crie uma nova aplicação que possibilite o registro de uma lista de convidados para um evento. Esta aplicação deve ser composta por três páginas JSP e cada uma delas deverá realizar uma tarefa distinta, como segue: index.jsp: Deve apresentar um campo de texto e dois botões. Você informará o nome do convidado no campo de texto e pressionará o botão Incluir para gravá-lo. Quando o botão Incluir for pressionado, a página incluir.jsp deverá ser carregada e o botão Consultar servirá para carregar a página consultar.jsp. incluir.jsp: deve captar o nome do convidado, gravá-lo como um atributo no escopo de sessão e exibir uma página confirmando sua gravação. Não deve permitir a gravação de dois nomes idênticos. consultar.jsp: Esta página deve recuperar o nome de todos os convidados já registrados e exibi-los em ordem alfabética. Slide 37
Exercício 7 Slide 38