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> 这样取出来的值却是正常的;
老师 请问这是为什么了?