Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
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.
package aula05;
public class Contador {
private static int contagem;
public static void novoAcesso() {
contagem = contagem + 1;
}
public static int getQuantidadeAcessos() {
return contagem;
}
}
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.
<html>
<body>
<% aula05.Contador.novoAcesso(); %> Quantidade de acessos a essa página:
<b>
<%= aula05.Contador.getQuantidadeAcessos() %>
</b>
</body>
</html>
Para 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