java-日记本(三)

登录模块(二)
一.采用properties文件存放系统配置项
1.新建一个diary.properties文件,文件内容是键值对的方式,中间用等号连接
2.新建一个PropertiesUtil类,写一个方法getValue(String key)通过key获得value。new一个properties类,先获取一个输入流,然后加载输入流load(),最后通过一个key返回一个值。
3.修改DbUtil

二.采用MD5加密对密码进行加密
1.封装一个MD5Util,添加一个方法EncoderPwdByMd5(string str)。使用java.security的包,md5使用MessageDigest 的getinstace(“MD5”)方法,new一个base64encoder方法,返回md5值。
代码:
MessageDigest md5 = MessageDigest.getInstance("MD5");
BASE64Encoder base64en = new BASE64Encoder();
return base64en.encode(md5.digest(str.getBytes("utf-8")));

2.修改userDao里的密码登录

三.实现记住用户名和密码Cookies功能
1.在loginServlet中新new一个remember,取request里的值
2.如果currentUser不为空的话,且checkbox被标记了,调用rememberMe()方法
3.封装一个方法rememberMe(String userName,String password,HttpServletResponse response),new一个Cookie的user实例,值是一个键值对,使用setMaxAge()方法确认保存时间,在response里调用addCookie方法
4.在login.jsp里添加java代码。这里分为两种情况,用户第一次登录页面和用户输入错误的用户名密码返回的登录页面。通过后台返回的user是否为空来判断,如果是空的话,说明是第一次登录。定义一个cookie数组,循环从cookie里数组取值。
代码:
Cookie[] cookies = request.getCookie();
for(int i = 0;cookies!=null&&i
     if(cookies[i].getName().equal("user")){
           userName = cookies[i].getValue().split("-")[0];
           password = cookies[i].getValue().split("-")[1];
    }
}
如果userName和password为空的话,赋值“”。
将取到的值放到page里面,优先值最高的。使用pageContext的setAttribute方法。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值