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
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:
package aula06;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
@WebListener
public class ContextListener implements ServletContextListener {
public static final String SISTEMA_ENCONTROS = "sistemaEncontros";
public void contextInitialized(ServletContextEvent event) {
ServletContext context = event.getServletContext();
context.setAttribute("SISTEMA_ENCONTROS", new SistemaEncontros());
}
public void contextDestroyed(ServletContextEvent event) {
ServletContext context = event.getServletContext();
context.removeAttribute("SISTEMA_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