我做了一个简单的登录程序!!为L1,L2,L3三个页面!!
L2中的cookie设置
if(rs.next()){
String keep =req.getParameter("keep");
if(keep!=null){
//将用户名和密码保存在COOKIE中!
//创建
Cookie name=new Cookie("username",u);
Cookie pass=new Cookie("passwd",p);
name.setMaxAge(14*24*3600);
pass.setMaxAge(14*24*3600);
//回写到客户端!
res.addCookie(name);
res.addCookie(pass);
}
HttpSession hs=req.getSession(true);
hs.setMaxInactiveInterval(30);
hs.setAttribute("username",u);
res.sendRedirect("L3?username="+u+"&passwd"+p);L3中的COOKIE读取!
if(myName==null){
//session中没值,再检查cookie中的值!
Cookie [] allCookies=req.getCookies();
int i=0 ;
if(allCookies!=null){
for(i=0;i<allCookies.length;i++){
Cookie temp =allCookies[i];
if(temp.getName().equals("username")){
name = temp.getValue();
}
else if(temp.getName().equals("passwd")){
pass = temp.getValue();
}
}
if(!name.equals("")&&!pass.equals("")){
//到L2中去验证
res.sendRedirect("L2?username="+name+"&passwd"+pass);
return;
}
}
res.sendRedirect("L1");
}不知道为什么不能成功!值传向L2后 就直接到了L1页面!望高手解决!
L2中的cookie设置
if(rs.next()){
String keep =req.getParameter("keep");
if(keep!=null){
//将用户名和密码保存在COOKIE中!
//创建
Cookie name=new Cookie("username",u);
Cookie pass=new Cookie("passwd",p);
name.setMaxAge(14*24*3600);
pass.setMaxAge(14*24*3600);
//回写到客户端!
res.addCookie(name);
res.addCookie(pass);
}
HttpSession hs=req.getSession(true);
hs.setMaxInactiveInterval(30);
hs.setAttribute("username",u);
res.sendRedirect("L3?username="+u+"&passwd"+p);L3中的COOKIE读取!
if(myName==null){
//session中没值,再检查cookie中的值!
Cookie [] allCookies=req.getCookies();
int i=0 ;
if(allCookies!=null){
for(i=0;i<allCookies.length;i++){
Cookie temp =allCookies[i];
if(temp.getName().equals("username")){
name = temp.getValue();
}
else if(temp.getName().equals("passwd")){
pass = temp.getValue();
}
}
if(!name.equals("")&&!pass.equals("")){
//到L2中去验证
res.sendRedirect("L2?username="+name+"&passwd"+pass);
return;
}
}
res.sendRedirect("L1");
}不知道为什么不能成功!值传向L2后 就直接到了L1页面!望高手解决!
public class CookieUnit {
public CookieUnit() {
}
public static void addCookie(HttpServletResponse response){
Cookie ck = new Cookie(Constant.COOKIEFLAG,"1");
ck.setDomain(Constant.DOMAIN);
ck.setPath("/");
response.addCookie(ck);
}
public static boolean findCookie(String cookieName, HttpServletRequest request){
Cookie[] cookies = request.getCookies();
if(cookies == null){
return false;
}
for (int i = 0; i < cookies.length; i++) {
if (Constant.COOKIEFLAG.equals(cookies[i].getName()) && "1".equals(cookies[i].getValue())) {
return true;
}
}
return false;
}
public static void deleteCookie(HttpServletRequest request, HttpServletResponse response){
Cookie[] cookies = request.getCookies();
if(cookies != null && cookies.length >0){
for (int i = 0; i < cookies.length; i++) {
Cookie ck = new Cookie(Constant.COOKIEFLAG,null);
ck.setDomain(Constant.DOMAIN);
ck.setPath("/");
ck.setMaxAge(0);
response.addCookie(ck);
}
}
}
}
因为客户端把cookie禁了,就起不了作用了啊
http://www.zhuoda.org/lunzi/20090.html
方法是加入
cookie.setDomain([网站根目录域名]);
cookie.setDomain([网站根目录域名]);
怎么叫不在同一域下啊,我现在在整cookie,取值的时候总有问题,不在同一个文件夹下的页面cookie值不共用??