大家帮我看看运行时出现了这个错误, 这是为什么呢
org.apache.jasper.JasperException: Exception in JSP: /cook/login.jsp:63:  String UserName = "", UserEMail = "", LoginDate = "";
4:  Cookie temp = null;
5:  Cookie[] cookies = request.getCookies();
6:  int cookielen = cookies.length;
7: 
8:  for (int i = 0; i < cookielen; i++) {
9:  temp = cookies[i];
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.jsp.cook.login_jsp._jspService(login_jsp.java:48)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%
String UserName = "", UserEMail = "", LoginDate = "";
Cookie temp = null;
Cookie[] cookies = request.getCookies();
int cookielen = cookies.length; for (int i = 0; i < cookielen; i++) {
temp = cookies[i];
if (temp.getName().equals("Name")) {
UserName = temp.getValue();
} else if (temp.getName().equals("E_Mail")) {
UserEMail = temp.getValue();
} else if (temp.getName().equals("LoginDate")) {
LoginDate = temp.getValue();
}
}
int tmplen = LoginDate.length();
boolean FirstLogin;
if (tmplen != 0) {
FirstLogin = false;
} else {
FirstLogin = true;
}
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> <title>Cookie 有效时间的设置</title>     <style type="text/css">
<!--
.STYLE1 {color: #0000FF}
.STYLE2 {
color: #FF0000;
font-size: 9px;
}
-->
        </style>
</head> <body>
<div align="center" class="STYLE1" >Cookie有效时间的设置 </div>
<p>
  <% 
if(FirstLogin==true)
{
 %>
 
首度登陆的朋友请输入EMAIL
<% 
}
else
{
 %>
欢迎再次光临,您曾于<span class="STYLE2"><%= LoginDate %></span>
<%
  }
%>
</p>
<form name="form1" method="post" action="settime.jsp">
      <p>姓名:
        <input name="tmpName" type="text" id="tmpName" value="<%= UserName%>">
      </p>
      <p>E-Mail
        <input name="tmpE_Mail" type="text" id="tmpE_Mail" value="<%= UserEMail %>">
      </p>
      <p>
        <input name="Submit1" type="submit" id="Submit1" value="登陆">
      </p>
</form>
<p>&nbsp; </p>
</body>
</html>

解决方案 »

  1.   

    int cookielen = cookies.length;
    这一行报错,因为cookies为null
      

  2.   

    当你第一次打开此页面的时候,cookies还是不存在的,只有你访问过一次以后cookies才会出现
      

  3.   

    Cookie[] cookies = request.getCookies();
    在你的这句后边加上:
            if(cookies==null){
    out.print("<script>alert(\"cookies为NULL\");</script>");
    return;
            }