getContext()

Bom dia, Pessoas…

Bom, seguindo a apostila da caelum:

[code]@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {

	ServletContext aplicacao = getServletContext();
	Date inicializacao = (Date) aplicacao.getAttribute("inicializacao");
	Date agora = new Date();
	long diferenca = agora.getTime() - inicializacao.getTime();
	double minutos = diferenca / (60 * 1000.0);

	PrintWriter writer = response.getWriter();
	writer.println("<html>");
	writer.println("Momento inicial: " + inicializacao + "<br/>");
	writer.println("Momento atual: " + agora + "<br />");
	writer.println("Minutos: " + minutos + "<br/>");
	writer.println("</html>");
}[/code]

Esse código está me gerando: java.lang.NullPointerException, na declaração: long diferenca = agora.getTime() - inicializacao.getTime();

Acredito eu, que tenha haver com o contexto de aplicação, q não consegue capturar a referência “inicializacao”, bom criei a servlet ControleDeAplicacao:

[code]
public class ControleDeAplicacao implements ServletContextListener {

@Override
public void contextDestroyed(ServletContextEvent arg0) {
	// TODO Auto-generated method stub

}

@Override
public void contextInitialized(ServletContextEvent event) {
	Date incializacao = new Date();
	ServletContext context = event.getServletContext();
	context.setAttribute("incializacao", incializacao);
}[/code]

no meu web.xml:

[code]
testaAplicacao
br.com.jsp.servlet.AcessaAplicacao

     <servlet-mapping>
     	<servlet-name>testaAplicacao</servlet-name>
     	<url-pattern>/testa-aplicacao</url-pattern>
     </servlet-mapping>
     
     <listener>
		<listener-class>br.com.jsp.servlet.ControleDeAplicacao</listener-class>
	</listener>[/code]

A pergunta que não quer calar, o que eu fiz de errado? rs

Obrigado! :wink:

Acabei de achar meu erro, depois de 5 min de descanso, vi que escrevi incializacao ao invés de inicializacao…

Obrigado a todos…

:thumbup: