1.servlet中编写cookie
//使用cookie实现自动登录功能 //1.用户登录成功,写cookie信息到客户端中 //1.1构造一个cookie对象 Cookie cookie=new Cookie("user",account!=null?cookieUser:account); cookie.setPath("/");//设置cookie在服务器的生效路径 cookie.setMaxAge(60);//设置有效时间/过期时间 //1.2把cookie发生到客户端,浏览器接收到cookie后,会写入到浏览器缓存中 response.addCookie(cookie);
//1.3当浏览器再次打开本网站时,浏览器会读取有效的cookie信息发送到服务器
2.jsp中编写读取cookie功能
function getCookie(c_name) { if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "=") if (c_start!=-1) { c_start=c_start + c_name.length+1 c_end=document.cookie.indexOf(";",c_start) if (c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) } } return "" } //使用javascript判断当前用户是否登录成功,如果登录成功则隐藏登录表单,否则显示登录表单 if(""!=getCookie("user")){ document.getElementById("loginForm").style.display="none"; document.getElementById("showLogin").style.display="block"; document.getElementById("loginUser").innerHTML="<a href=‘loginservlet‘>"+getCookie("user")+"</a>"; } </script>
3.servlet中编写读取cookie的功能
Cookie[] cookies = request.getCookies(); String cookieUser=null; for(Cookie cookie : cookies){ if("user".equals(cookie.getName())){ cookieUser=cookie.getValue(); break; } }