cookie问题!第一次进入报错!

时间:2021-07-08 16:56:35
Cookie []cookies=request.getCookies();
String cookieName1="username_zzgj";//用户名
String cookieName2="userpwd_zzgj";//密码
Cookie myCookie1=null;
Cookie myCookie2=null;
String username_zzgj="";
String userpwd_zzgj="";

for(int i=0;i<cookies.length;i++)
{
if(cookies[i].getName().equals(cookieName1)) 
{
   myCookie1=cookies[i];
   username_zzgj=cookies[i].getValue();
 }
  if(cookies[i].getName().equals(cookieName2))
{
myCookie2=cookies[i];
   userpwd_zzgj=cookies[i].getValue();
  }
}
以上代码放再网站首页,以便登录框中读取用户名和密码
现在出现一个怪问题!打开浏览器,第一次打开这个首页的时候,tomcat会报空指针nullpoint...的错误,但是如果直接手输一个二级栏目的页面,能够打开,然后通过这个页面上的连接链到首页,首页就能打开了!但是如果清空浏览器缓存,关闭浏览器,再打开,首页又打不开了。。。这是什么问题啊?

10 个解决方案

#1


刚进来时:Cookie []cookies=request.getCookies();
刚cookies = null,
所以你用cookies.length当然抛nullpointException了,
判断一下cookie是不是null就成了

#2


你第一次打开的时候 Cookie []cookies=request.getCookies();当然cookies[]为NULL了
这个和你在首页放 String str = request.getParameter("str"); str.length();一样的撒

#3


你的cookies可能会是null的你应该加个条件
if(cookies.length!=0)
执行代码

#4


那我为什么先去了别的页面再回到首页就能打开呢!

#5


加null判断就可以了

#6


楼主页面中的cookie是在哪儿写入的呢?

写入过cookie后当然就能取到值了

#7


是不是跟我这一个一样啊
<frameset rows="0,*" frameborder="no" border="0" framespacing="0">
<frame name="top" scrolling="no" noresize src="">
<frame name="body" src="http://www.cn.com/shop/fsjb3">
</frameset>

用这样包含www.cn.com上的一个文件,文件上有一个用户登陆框,如果在2000可以正常登陆,可是在XP就不行了,COOKIES的问题,说这网站受限,请问高手这是什么问题啊?要怎么弄呢?急急急!!!!!!!
也是取到空值

#8


soulcy(棋子) :我是在登录提交页面写入cookie的!我说的先随便打开一个页面是指任何一个不含读取coookie代码的页面,先浏览这些页面再通过链接进入一个含读取cookie的叶面就不会出错!但是直接进读取cookie的叶面就会出错!

#9


我加了判断了
if(cookies.length!=0) ,还是出错!


下面试错误信息!
---------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


root cause 

java.lang.NullPointerException
org.apache.jsp.index_jsp._jspService(index_jsp.java:374)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


note The full stack trace of the root cause is available in the Tomcat logs.

#10


问题解决,感谢大家!

#1


刚进来时:Cookie []cookies=request.getCookies();
刚cookies = null,
所以你用cookies.length当然抛nullpointException了,
判断一下cookie是不是null就成了

#2


你第一次打开的时候 Cookie []cookies=request.getCookies();当然cookies[]为NULL了
这个和你在首页放 String str = request.getParameter("str"); str.length();一样的撒

#3


你的cookies可能会是null的你应该加个条件
if(cookies.length!=0)
执行代码

#4


那我为什么先去了别的页面再回到首页就能打开呢!

#5


加null判断就可以了

#6


楼主页面中的cookie是在哪儿写入的呢?

写入过cookie后当然就能取到值了

#7


是不是跟我这一个一样啊
<frameset rows="0,*" frameborder="no" border="0" framespacing="0">
<frame name="top" scrolling="no" noresize src="">
<frame name="body" src="http://www.cn.com/shop/fsjb3">
</frameset>

用这样包含www.cn.com上的一个文件,文件上有一个用户登陆框,如果在2000可以正常登陆,可是在XP就不行了,COOKIES的问题,说这网站受限,请问高手这是什么问题啊?要怎么弄呢?急急急!!!!!!!
也是取到空值

#8


soulcy(棋子) :我是在登录提交页面写入cookie的!我说的先随便打开一个页面是指任何一个不含读取coookie代码的页面,先浏览这些页面再通过链接进入一个含读取cookie的叶面就不会出错!但是直接进读取cookie的叶面就会出错!

#9


我加了判断了
if(cookies.length!=0) ,还是出错!


下面试错误信息!
---------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


root cause 

java.lang.NullPointerException
org.apache.jsp.index_jsp._jspService(index_jsp.java:374)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


note The full stack trace of the root cause is available in the Tomcat logs.

#10


问题解决,感谢大家!