使用Cookie记录用户名和密码

在用户填写登录数据后,提交表单进行登录验证,如果用户名和密码正确,则把用户名和密码保存在客户端

①用户首次登陆时候:

  response.setContentType("text/html;charset=gbk");          
//获取用户名 
         String userName = request.getParameter("username");         
 //获取用户密码 
         String password = request.getParameter("password");  
         //验证用户是否合法 
         if ("accp".equals(userName) && "accp".equals(password)) {       
             //如果合法,把用户名和密码保存在客户端Cookie中  
                    //获取客户选择的Cookie保存时间 
                    String cookieDate = request.getParameter("cookieDate");     
               int date = 0;  
                   if (cookieDate != null && cookieDate != "")      
                        date = Integer.parseInt(cookieDate);  
                   //创建用户名Cookie对象 
Cookie cookiePass = new Cookie("accpLoginPass", password); 
//设置保存Cookie时间

cookiePass.setMaxAge(date); 

//添加到客户端

response.addCookie(cookiePass); 

response.sendRedirect("success.jsp"); 

} else { 

response.sendRedirect("fail.jsp"); 
②用户再次登录的时候

服务器首先读取客户端Cookie信息,

如果存在用户名和密码数据,则直接登录,否则显示登录页面。

response.setContentType("text/html;charset=gbk"); 

//用户名和密码是否存在以及合法的判断参数

boolean bool=false; 

//获取客户端Cookie数组

Cookie[] cookies = request.getCookies(); 

//判断客户端是否存在Cookie对象

if (cookies != null) { 

//预定义保存用户名和密码的变量

String userName = ""; 

String password = ""; 

//遍历Cookie数组
for (int i = 0; i < cookies.length; i++) { 
//取得每一个Cookie对象

Cookie cookie = cookies[i]; 

//判断Cookie的名称是否等于"accpLoginName" 

if ("accpLoginName".equals(cookie.getName())) { 

userName = cookie.getValue(); 
 
} 

//判断Cookie的名称是否等于"accpLoginPass" 

if ("accpLoginPass".equals(cookie.getName())) { 
password = cookie.getValue(); 
} 
} 
//判断用户名和密码是否合法 
if ("accp".equals(userName) && "accp".equals(password)) 
bool=true; 
} 
 //判断对客户端的Cookie的操作是否成功,成功则显示登录成功后的页面,
//否则,重定向到登录页面
if(bool) 
response.sendRedirect("success.jsp"); 
else 
response.sendRedirect("login.jsp"); 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值