Cursos / Informática para Internet / Desenvolvimento Web I / Aula

arrow_back Aula 06 - MVC, Servlets e JavaServer Pages

Elemento Controle

Para o elemento controle, temos em essência a tecnologia de Servlets. Em primeiro lugar, vamos utilizar uma classe para instanciar e guardar uma referência para o sistema de encontros, permitindo assim que qualquer Servlet a ser criado possa acessar o sistema. Isso pode ser feito através da classe mostrada na Listagem 3:

x
1
package aula06;
2
3
import javax.servlet.ServletContext;
4
import javax.servlet.ServletContextEvent;
5
import javax.servlet.ServletContextListener;
6
import javax.servlet.annotation.WebListener;
7
8
@WebListener
9
public class ContextListener implements ServletContextListener {
10
public static final String SISTEMA_ENCONTROS = "sistemaEncontros";
11
      public void contextInitialized(ServletContextEvent event) {
12
            ServletContext context = event.getServletContext();
13
            context.setAttribute("SISTEMA_ENCONTROS", new SistemaEncontros());
14
      }
15
16
      public void contextDestroyed(ServletContextEvent event) {
17
            ServletContext context = event.getServletContext();
18
            context.removeAttribute("SISTEMA_ENCONTROS");
19
      }
20
}
21
Listagem 3 - Classe que inicializa e que cria uma referência para o sistema de registro de encontros

Essa classe herda o código (uma subclasse) de uma classe especial chamada ServletContextListener e implementa métodos que vão ser invocados basicamente quando o contêiner dos Servlets for criado (contextInitialized) e para quando ele for destruído (contextDestroyed). Nesses dois momentos, temos a oportunidade de, respectivamente, adicionar e remover uma referência para o sistema dentro do chamado contexto dos Servlets. Note nas linhas 9 e 14 que ambos os métodos recebem como parâmetro um objeto do tipo ServletContextEvent. Esse objeto possui o método getServletContext(), o qual retorna um objeto ServletContext, e seu uso pode ser visto nas linhas 10 e 15. De posse desse objeto, você pode criar e acessar atributos, similarmente ao que acontece com os objetos que representam sessões de usuário. No caso, utilizam-se os métodos setAttribute() e removeAttribute() para adicionar e remover atributos do ServletContext. Na linha 11, temos a criação de um atributo de nome “sistemaEncontros”, cujo valor é a referência ao sistema de encontros. Já na linha 16, temos a remoção desse atributo.

Versão 5.3 - Todos os Direitos reservados