调用yes的equals方法:if("yes".equals(remember_pwd))
登录界面复选框:
<input type="checkbox" value="yes" name="remember_pwd"><label>记住密码</label>
是否勾选记住密码复选框来添加Cookie信息:
if(remember_pwd.equals("yes")){
usernameCookie.setMaxAge(60*60*24*31); // 设置Cookie的过期时间(秒)
passwordCookie.setMaxAge(60*60*24*31);
response.addCookie(usernameCookie); // 添加Cookie信息
response.addCookie(passwordCookie);
}
判断值是否等于字符串需要用equals方法;
一、问题
但是如果没有勾选复选框,即remember_pwd的值为空,这时候就会出现空指针的错误:

二、解决
只需改变判断条件即可:
if("yes".equals(remember_pwd)),调用"yes"的equals方法,与remember_pwd的值进行比较。
函数setMaxAge(maxAge):
maxAge > 0:保存Cookie的时间
maxAge = 0:删除此Cookie
maxAge < 0:没有储存,用户退出浏览器就过期
本文讲解了登录界面中记住密码功能的实现,通过判断复选框的状态,使用equals方法比较字符串,正确设置Cookie的过期时间,确保用户体验的同时,避免空指针异常。
12万+

被折叠的 条评论
为什么被折叠?



