ServletContextListener 我想初始化一个方法为啥报空指针异常

public void contextInitialized(ServletContextEvent event) {

    // TODO Auto-generated method stub
    Runnable runnable = new Runnable() {      
        public void run() {      
            addHttpNowData();
        }      
    };      
    ScheduledExecutorService service = Executors      
            .newSingleThreadScheduledExecutor();      
    // 第二个参数为首次执行的延时时间,第三个参数为定时执行的间隔时间      
    service.scheduleAtFixedRate(runnable, 1, 2, TimeUnit.SECONDS);      

}



public void addHttpNowData() { 
    try {

        System.out.println(this.getClass().getClassLoader().getResource("/").getPath());
        // 从接口获取数据
        this.eventNotificationTimedTaskService.addHttpNewNoticeData();

    } catch (Exception e) {     
        e.printStackTrace();
    }
 }


 java.lang.NullPointerException
at cn.secure.web.front.EventNotificationTimedTaskController.addHttpNowData(EventNotificationTimedTaskController.java:53)
at cn.secure.web.front.EventNotificationTimedTaskController$1.run(EventNotificationTimedTaskController.java:37)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

可以说一下 具体哪报空指针吗

System.out.println(this.getClass().getClassLoader().getResource("/").getPath());
应该是这一行报错,this.getClass().getClassLoader(),可能会导致和当前线程所运行的类加载器不一致,出现空指针

用自己编写的类的类名去获取ClassLoader

代码不完整,如果是你贴的这段代码引起的空指针错误,最有可能是就是

this.eventNotificationTimedTaskService.addHttpNewNoticeData();

这一句,你看下eventNotificationTimedTaskService是不是没有初始化好,如果为null肯定会引起空指针错误。

EventNotificationTimedTaskController.java:53,,,这个类是自定义的类吗,如果是得快看看53行呗