requestDispatcher.forward报错,各位大牛进来看看,本人小白

    writer.write("登陆失败");
            ServletContext servletContext = DoLogin.this.getServletContext();
            if (servletContext==null) {
                System.out.println("111   "+"servletContext");
            }
            final RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher("/servlet/Login");
            if (requestDispatcher==null) {
                System.out.println("222   "+"requestDispatcher");
            }
            Timer timer = new Timer();
            timer.schedule(new TimerTask() {
                public void run() {
                    try {
                        System.out.println("hehe="+Thread.currentThread().getName());
                        if (request==null) {
                            System.out.println("333   "+"request");
                        }
                        if (response==null) {
                            System.out.println("444   "+"response");
                        }
                        requestDispatcher.forward(request, response);
                    } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }, 2000);// 设定指定的时间time,此处为2000毫秒

我就想问问,为什么报null指针,这行:requestDispatcher.forward(request, response);

自顶。。。。。。。。。。。。。。。。。。。。。。。。。。。