cookie保存后取值总是上一次的
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> <% request.setCharacterEncoding("utf-8"); System.out.println(request.getParameter("userName")); System.out.println(request.getParameter("password")); String[] remember=request.getParameterValues("remember"); if(remember!=null&&remember.length>0){ String userName=request.getParameter("userName"); String password=request.getParameter("password");//getParameter是去 name的值; getAttribute指的是取键值对啊 Cookie userNameCookie=new Cookie("userName",userName); Cookie passwordCookie=new Cookie("password",password); userNameCookie.setMaxAge(86400); passwordCookie.setMaxAge(86400); response.addCookie(userNameCookie); response.addCookie(passwordCookie); }else { Cookie[] cookies = request.getCookies(); if(cookies!=null&&cookies.length>0) { for(Cookie c:cookies) { if(c.getName().equals("userName")||c.getName().equals("password")) { c.setMaxAge(0); //设置Cookie失效 response.addCookie(c); //重新保存。 } } } } request.getRequestDispatcher("user.jsp").forward(request,response); %> <!-- <a target="_blank" h r e f="user.jsp">c h a n k an</a> --> </body> </html>
老师,遇到一个奇怪的事; 我用cookie保存用户名和密码后取值的时候却总是取出的上一次的值;
第一次: userName= user1 password=password1; 但是取出来为空;
第二次: userName= user2 password=password2; 但是取出来确为第一次保存的值: user1, password2
在dologin.jsp页面 , 第一次使用直接服务器跳转: request.getRequestDispatcher("user.jsp").forward(request,respon);
这样的话 在user.jsp页面取值取出的总是上一次保存的cookie;
第二次我参照您的方法 <a herf="user.jsp"> userinfo</a> 这样取出来的值却是正常的;
老师 请问这是为什么了?