getContext()

1 resposta
Daniel_Reis

Bom dia, Pessoas...

Bom, seguindo a apostila da caelum:

@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>");
	}

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:

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);
	}

no meu web.xml:

<servlet>
         	<servlet-name>testaAplicacao</servlet-name>
         	<servlet-class>br.com.jsp.servlet.AcessaAplicacao</servlet-class>
         </servlet>
         
         <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>

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

Obrigado! ;)

1 Resposta

Daniel_Reis

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

Obrigado a todos…

:thumbup:

Criado 16 de fevereiro de 2008
Ultima resposta 16 de fev. de 2008
Respostas 1
Participantes 1