[code="java"]package com.listener;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import com.utils.MyTask;
public class MyListener implements ServletContextListener {
private static Timer timer;
@Override
public void contextDestroyed(ServletContextEvent event) {
timer = new Timer(false);
//设置任务计划,启动和间隔时间
timer.schedule(new MyTask(), 0, 2000);
}
@Override
public void contextInitialized(ServletContextEvent event) {
timer.cancel();//(MyListener.java:25)
java.lang.NullPointerException
}
}[/code]
严重: Exception sending context initialized event to listener instance of class com.listener.MyListener
java.lang.NullPointerException
at com.listener.MyListener.contextInitialized(MyListener.java:25)
为什么启动tomcat就报空指针错误?
雪地等解答
我晕,你代码都写错位置了
修改如下
[code="java"]
package com.listener;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import com.utils.MyTask;
public class MyListener implements ServletContextListener {
private static Timer timer;
@Override
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
}
@Override
public void contextInitialized(ServletContextEvent event) {
timer = new Timer(false);
//设置任务计划,启动和间隔时间
timer.schedule(new MyTask(), 0, 2000);
}
}
[/code]
个人认为,这个程序如果不报空指针的话,那才真是出了鬼了。
timer.cancel();
timer这个时候还没有初始化.
先初始化一下吧