<%@page contentType="text/html; charset=Shift_JIS"%>
<%@page import="javax.servlet.http.Cookie"%>
<%@page import="java.util.*"%>
<html>
<head>
<title>jsp3</title>
</head>
<body bgcolor="#ffffff">
<h1>JBuilder  JSP</h1>
<%
  String userName = "xxx";
  Cookie[] cookie = request.getCookies();
  Cookie cookieResponse = null;
  List list = Arrays.asList(cookie);
  Iterator it = list.iterator();
  while (it.hasNext()) {
    Cookie temp = (Cookie) it.next();
    if (temp.getName().equals(userName + "_time")) {
      cookieResponse = temp;
      break;
    }
  }
  out.println("now time :" + new java.util.Date() + "<br>");
  if (cookieResponse != null) {
    out.println("up time " + cookieResponse.getValue() + "<br>");
    cookieResponse.setValue(new java.util.Date().toString());
  }
  else {
    cookieResponse = new Cookie(userName + "_time", new java.util.Date().toString());
  }
  response.addCookie(cookieResponse);
  response.setContentType("text/html");
  response.flushBuffer();
%>
</body>
</html>
//***************************************************
这是本人初学jsp写的一个使用cookie的程序,用来获得cookie中用户上次登陆的时间。在运行时提示“空指针”异常,请教高人如何解决?谢谢

解决方案 »

  1.   

    原因可能是:  List list = Arrays.asList(cookie);中的cookie的值为空!可能是没有cookie信息。
      

  2.   

    顶一下-------------------------
    http://www.5ai7.net/
      

  3.   

    Cookie  cookieResponse = new Cookie("userName"+ "_time", new java.util.Date().toString());
    response.addCookie(cookieResponse);
      response.setContentType("text/html");
      response.flushBuffer();
    客户端的Cookies中并没有信息,这是怎么回事?
      

  4.   

    http://guileen.googlepages.com/minibot.htm
      

  5.   

    Cookie[] cookie = request.getCookies();
    要判断 if(cookie!=null)存 Cookie时候要定义实效时间
    cookieResponse.setMaxAge(60*60*24);
    response.addCookie(cookieResponse);
      

  6.   

    response.setContentType("text/html");
      response.flushBuffer();这两句要了干吗,,汗,,,,,,,,,,,
      

  7.   

    你白痴,不是没高手,你cookie第一次运行都没用过当然是空,你不会判断一下呀,晕