【项目实战】---用户激活

简介:        在前面的博客中,小编主要结合SSH网上商城这个项目,简单的介绍了如何实现邮件发送的这个功能,邮件发送了,接下来就是激活了,为什么呢?现在大多网站都要通过对账号进行激活,然后才能注册成功,这是防止恶性注册的措施,只要在注册账号时所填写的邮箱找到注册网站发来的邮件,并点击激活链接就可以完成激活。

       在前面的博客中,小编主要结合SSH网上商城这个项目,简单的介绍了如何实现邮件发送的这个功能,邮件发送了,接下来就是激活了,为什么呢?现在大多网站都要通过对账号进行激活,然后才能注册成功,这是防止恶性注册的措施,只要在注册账号时所填写的邮箱找到注册网站发来的邮件,并点击激活链接就可以完成激活。在上篇博客中,激活邮件已经发送完毕,接下来要做的就是点击邮箱里面的激活邮件,完成激活实现登录,那么这个功能该如何实现呢?今天这篇博客,小编就主要简单的来介绍一下如何实现用户激活这个功能,希望对有需要的小伙伴有帮助,还请各位大牛多多指教哦`(*∩_∩*)′!

        首先第一步,我们在UserAction.java类里面编写一个用户激活的方法,代码如下所示:

        

/**
	 * 用户激活的方法
	 * author 丁国华
	 */
	public String active(){
		//根据激活码查询用户:
		User existUser=userService.findByCode(user.getCode());
		//判断
		if(existUser==null){
			//激活码错误
			this.addActionMessage("激活失败:激活码错误!");
		}else{
			//激活成功
			//修改用户的状态
			existUser.setState(1);
			existUser.setCode(null);
			userService.update(existUser);
			this.addActionMessage("激活成功:请去登录!");
			
		}
		return "msg";
		
		
	}
      接着,第二步,我们来编写UserService.java类中方法,根据激活码查询用户,具体代码如下所示:

package cn.itcast.shop.user.service;

import org.springframework.transaction.annotation.Transactional;

import cn.itcast.shop.user.dao.UserDao;
import cn.itcast.shop.user.vo.User;
import cn.itcast.shop.utils.MailUitls;
import cn.itcast.shop.utils.UUIDUtils;

/**
 * 用户模块业务层代码
 * @author 丁国华
 *
 */

@Transactional

public class UserService {
	
	//注入UserDao
	private UserDao userDao;
	
	public void setUserDao(UserDao userDao){
		this.userDao =userDao;
		
		
	}
	
	//按用户名查询用户的方法
	public User findByUsername (String username){
		return userDao.findByUsername(username);
	}

	//业务层完成用户注册代码
	public void save(User user) {
		//将数据存入到数据库
		user.setState(0); //0代表用户激活  1代表用户已经激活
		String code = UUIDUtils.getUUID()+UUIDUtils.getUUID();
		user.setCode(code);
		userDao.save(user);
		
		//发送激活邮件
		MailUitls.sendMail(user.getEmail(), code);
		
		
	}

	//业务层根据激活码查询用户
	public User findByCode(String code) {
		
		return userDao.findByCode(code);
		
		
		    
	}
    //修改用户的状态的方法  
	public void update(User existUser) {
		userDao.update(existUser);
		
	}

}
      接着,第三步,我们来编写UserDao.java类中的方法,具体代码如下所示:

package cn.itcast.shop.user.dao;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import java.util.List;

import cn.itcast.shop.user.vo.User;

/**
 * 用户模块持久层代码
 * @author 丁国华
 *
 */

public class UserDao extends  HibernateDaoSupport {
	
	//按名次查询是否有该用户
	public User findByUsername (String username){
		String hql ="from User where username= ?";
		List <User> list=this.getHibernateTemplate().find(hql,username);
		if(list !=null && list.size() > 0){
			return list.get(0);
		}
		 return null;
		
		}

	//注册用户存入数据库代码实现
	public void save(User user) {
		// TODO Auto-generated method stub
		this.getHibernateTemplate().save(user);
		
		
	}

	//根据激活码查询用户
	public User findByCode(String code) {
		String hql = "from User where code =?";
		List<User> list=this.getHibernateTemplate().find(hql,code);
		if(list !=null && list.size() > 0){
			return list.get(0);
		}
		 return null;
		
		}

	//修改用户状态的方法 
	public void update(User existUser) {
		
		this.getHibernateTemplate().update(existUser);
	}
	}

	
	
      至此,我们的代码部分就已经编写完毕了,我们来看一下运行效果,首先我们来注册一个用户,如下图所示:

       
       点击同意以下协议并注册,出现如下界面:

       

       接着,来看一下小编的邮箱是否收到激活邮件,如下图所示:

       

       点击激活链接,我们来看一下会有怎么样的奇迹nie,如下图所示:

       

       小编寄语:该博文,小编主要简单介绍了如何激活用户,总的来说,实现的思路就是在邮箱客户端中点击激活链接,然后根据传递激活码进行用户查询,如果用户不为空,我们就修改用户的状态;如果用户为空,那就证明激活码被篡改了,SSH网上商城,精彩未完待续~~~~~~

目录
相关文章
|
11月前
|
存储 小程序 关系型数据库
后台交互-个人中心->小程序登录微信登录接口演示,小程序授权登录理论,小程序授权登录代码演示,微信表情包存储问题
后台交互-个人中心->小程序登录微信登录接口演示,小程序授权登录理论,小程序授权登录代码演示,微信表情包存储问题
108 0
|
12月前
|
存储 JavaScript 前端开发
Vue项目实战(07)- 登录权限分析
Vue项目实战(07)- 登录权限分析
142 0
|
JavaScript
项目实战4——uniapp在线升级关联云空间
项目实战4——uniapp在线升级关联云空间
347 0
|
前端开发
前端项目实战72-控制1个按钮不能删除
前端项目实战72-控制1个按钮不能删除
80 0
前端项目实战72-控制1个按钮不能删除
|
Android开发
移动应用程序设计基础——用户登录实验
本实验通过实现用户登录界面,使得学员能进一步加深和掌握Android的常用基本控件使用,包括:TextView,EditView、CheckBox、Button、ImageView以及ProgressBar等。 3、 编写Activity代码LoginActivity.java,实现EditView的username、password和CheckBox的issaved控件发现取得; 4、 编写进度条ProgressBar的界面布局progress.xml,放置水平进度条,设置最大值属性为100;
307 0
移动应用程序设计基础——用户登录实验
|
前端开发
前端项目实战34-登录失败控制
前端项目实战34-登录失败控制
91 0
|
前端开发
前端项目实战88-控制只能上传一个文件
前端项目实战88-控制只能上传一个文件
54 0
|
前端开发
前端项目实战43-删除做一个对应得提示
前端项目实战43-删除做一个对应得提示
79 0
|
小程序 JavaScript
4.2【微信小程序全栈开发课程】个人中心(二)--显示随机语句
上节课已经将用户的微信头像、微信昵称显示出来了,这节课,我们在微信昵称的下面实现随机语句的显示 也就是挑选10条励志的句子,用户每次切换到个人中心页面,都会随机显示这10条句子中的一条
213 0
4.2【微信小程序全栈开发课程】个人中心(二)--显示随机语句
|
SQL Java 数据库
用户模块之激活功能完成 | 学习笔记
快速学习用户模块之激活功能完成
152 0