毕业设计(九)---注册和登录逻辑


登录和注册都是用的ActionUser.java, 里面不同的方法


注册:

信息提交--md5加密密码--生成对象--设置对象用户名,密码,登录时间等--保存--session存信息--跳转

//用户注册
	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
//		System.out.println(username + "---------------" + password);
//		System.out.println(email + "---------------" + sex);
		MD5 md5 = new MD5(password);
		String passworded = md5.compute();
//		System.out.println(passworded);
		Users u = new Users();
		u.setUsername(username);
		u.setPassword(passworded);
		u.setEmail(email);
		u.setSex(sex);
		java.sql.Timestamp time = new java.sql.Timestamp(
				new java.util.Date().getTime());
		u.setLastLoginTime(time);
		u.setRegisterDate(time);
		
		u.setLocked(false);
		manager.addUser(u);
		ActionContext.getContext().getSession().put("user", u);
		ActionContext.getContext().getSession().put("lastlogin", u.getLastLoginTime());

		return SUCCESS;
	}







登录:

信息提交--密码验证--用户状态(登录失败-是否锁定)--保存session--修改上次登录时间--页面跳转


//用户登录
	public String login(){
		//md5加密密码
		MD5 md5 = new MD5(password);
		String pas = md5.compute();
		Users u = new Users();
		u.setUsername(username);
		u.setPassword(pas);
		
		
		// 用户用户登录--存在返回id,不存在或者 密码错误返回-1锁定状态返回-2
		int res = manager.checkUser(u);
//		System.out.println(res + "useraction");
		if(res == -1){
			System.out.println("fail");
			return "fail";
		}
		if(res == -2){
			System.out.println("zhanghaosuoding");
			return "zhanghaosuoding";
		}
		
		Users u2 = manager.findOneUsers(res);
		//System.out.println(u2.getUsername()+"-"+u2.getPassword());
		//把用户信息和上次登录时间放到session中,在页面上显示
		ActionContext.getContext().getSession().put("user", u2);
		ActionContext.getContext().getSession().put("lastlogin", u2.getLastLoginTime());
		
		//更新这次登录时间到数据库
		java.sql.Timestamp lastLogin = new java.sql.Timestamp(
				new java.util.Date().getTime());
		u2.setLastLoginTime(lastLogin);
		manager.updateUser(u2);
		
		
		return SUCCESS;		
		
	}

manager.checkUser(u)  调用 UserDaoImpl的checkUser(u)

方法如下:

// 用户用户登录--存在返回id,不存在或者 密码错误返回-1锁定状态返回-2
	public int checkUser(Users u) {
		List<Users> list = hibernateTemplate.findByExample(u);
		if (list.size() == 0) {
			return -1;
		} else {
			System.out.println(list.get(0).getLocked());
			if (list.get(0).getLocked() == true) {
				return -2;
			}
		}
		return list.get(0).getId();

	}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值