session.setMaxInactiveInterval(-1);//设置有效时间。

解决方案 »

  1.   

    可能是你没添加到session,或者是在你取之前session已经销毁了,不过我感觉最大的可能还是你没把随机码添加到session中.
      

  2.   

    输出这个:randomCode.toString()
    看是不是null。
      

  3.   

    谢谢楼上大哥,但还是不行啊。加了你说的那句话。但是还是得不到session里的值
      

  4.   

    确实添加到session了。因为设置过session后,我又马上输出
    System.out.println(session.getAttribute("randomCode").toString());确实能得到值。
    但是到action中就得不到session值了,
    String input=(String)session.getAttribute("randomCode");
    System.out.println(input);得到的是null。
    并且我没有把它销毁。
      

  5.   

    session实际是一个ID号, 你调试一下, 看看两次session是不是同一个值, 以确定你是不是同一个session
      

  6.   

    到处理用户输入的验证码和系统生成的验证码是否一致时,在这个action中,session已经丢失了。为什么?
      

  7.   

    你必须得在action中这样写Session session=request.getSession();
    session.get............
    必须得getSession一下,
      

  8.   

    看看是不是跨应用了,导致session不是同一个
      

  9.   

    看看是不是配置的时候和session的范围有关的地方有问题。
      

  10.   

    songshuo():
    应该没有跨应用吧,生成一个验证吗,然后又想得到它。这不应该算跨应用吧。那位大侠,帮帮我啊!郁闷几天了!
      

  11.   

    session.getId();
    看看两次的session是不是同一个.如果是, 那么肯定是你某个地方销毁了
      

  12.   

    servlet有个session监听,
    监听一下你的session的生命周期
      

  13.   

    也许你的电脑的问题
    HttpSession hs=request.getSession(true);//在里面加一个 true试试