博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【项目实战】---用户激活
阅读量:6251 次
发布时间:2019-06-22

本文共 3023 字,大约阅读时间需要 10 分钟。

       在前面的博客中,小编主要结合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 丁国华 * */@Transactionalpublic 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 
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
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网上商城,精彩未完待续~~~~~~

你可能感兴趣的文章
谈谈Android中的SurfaceTexture
查看>>
Nginx+Varnish又开始新的征程了
查看>>
NUnit-Console 命令行选项详解
查看>>
[问题2014S10] 解答
查看>>
微信游戏《全民炫舞》公司的引擎开发和布料系统技术介绍
查看>>
同步与互斥的区别和联系
查看>>
eclipse中tomcat能正常启动,在浏览器中不能打开问题
查看>>
基于Linux根据僵尸网络病毒平台《比尔盖茨》
查看>>
JNI编程(二) —— 让C++和Java相互调用(2)
查看>>
Android搜索框效果
查看>>
ReportMachine OCX
查看>>
IOS开发--待研究源码(持续添加更新)
查看>>
解读ASP.NET 5 & MVC6系列(9):日志框架
查看>>
LinkedHashMap及其源码分析
查看>>
Atitit.Gui控件and面板----数据库区-mssql 2008 权限 配置 报表查看成员
查看>>
环境配置
查看>>
codeforces 468B 2-sat
查看>>
php对uploads文件的处理问题的解决
查看>>
Python urllib简单使用
查看>>
Python - 001 - 类与实例间属性的理解
查看>>