Cursos / Informática para Internet / Desenvolvimento Web I / Aula
Vamos agora a outro exemplo de página JSP. Vamos implementar uma página que mostra quantas vezes ela já foi acessada. Para isso, vamos fazer uso da classe Contador, como mostrado na Listagem 4. A classe Contador possui um método estático chamado novoAcesso(), o qual incrementa a contagem (atributo contagem) de acessos realizados àquele método. Já o método getQuantidadeAcessos(), retorna a quantidade de acessos realizados até o momento. O uso da palavra-chave static faz com que o atributo e os métodos da classe Contador possam ser utilizados sem serem criados objetos, você está lembrado? Qualquer dúvida, consulte novamente o material da disciplina de Programação Orientada a Objetos.
Listagem 4 - Classe Contador usada para armazenar a quantidade de acessos.Para usar essa classe em um arquivo JSP, precisamos fazer com que ele execute o método novoAcesso() e, em seguida, execute e apresente o conteúdo retornado pelo método getQuantidadeAcessos(). Isso é feito pelo arquivo acessos.jsp, mostrado na Listagem 5.
Listagem 5 - Código-fonte do arquivo acessos.jspPara executar o método novoAcesso(), fazemos uso de scriptlets. Os scriptlets são blocos de código Java delimitados pelos marcadores <% e %>. No exemplo da Listagem 5, o scriptlet se refere às linhas 3 a 5. Dentro desse bloco de código, pode existir qualquer comando Java válido. Isso porque, como você se lembra, o arquivo JSP será traduzido para um Servlet. O que estiver entre o <% e %> será simplesmente copiado para o método do Servlet responsável pela criação da página de resposta (jsp_service()).
Voltando para o exemplo, quando o JSP for executado (na verdade, seu Servlet gerado), o método novoAcesso() também será executado, incrementando em uma unidade a quantidade de acessos armazenada pela classe Contador (atributo contagem). Por fim, o valor dessa contagem é apresentado na página de resposta através da linha 8. O resultado de vários acessos a esse arquivo JSP é mostrado na Figura 3.
Versão 5.3 - Todos os Direitos reservados