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!