今天尝试着用ssm框架做了一个用户账户激活的小例子,虽然功能很简单但是涉及到的知识点还是比较多的,于是把实现过程记录一下。
先说一下大体的思路,平时在实现用户注册的时候是用户注册过后就在数据库中为用户插入一条代表用户信息的记录作为用户的登录账户,用户就可以使用用户名或id和密码来登陆某某系统。在这里加入了用户注册的邮箱验证之后,用户就不可以在注册后直接拿用户名来登录系统,必须先在邮箱中激活账户后方可使用系统。想必大家都使用过这种注册方式。这种注册的方式和一般的不需要验证的注册的方式区别主要在于在用户的数据库表的设计中增加了一条代表用户是否激活账户的标记,和一条用来激活账户的字符串。
一下是数据库表的设计
DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(20) NOT NULL, `password` varchar(255) NOT NULL, `email` varchar(20) NOT NULL, `state` int(11) DEFAULT '0', `code` varchar(64) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
由于本系统是在本地环境下搭建的,所以为了测试方便,就在本机搭建邮件服务器,我这里使用的是hmailserver和foxmail,关于如何搭建本地邮件服务器,可以参考关于hMailServer的安装与配置。设置好本地邮件服务器后就可以使用foxmail测试了,如果遇到问题可以参考foxmail7.1设置。
我在这里创建了两个测试账户,如图说明服务器架设成功