Javaweb网上商城项目实战(9)实现用户激活功能

用户激活

用户激活的原理
Javaweb网上商城项目实战(9)实现用户激活功能

上一节我们最后已经收到了带有激活code的邮件,这一节我们继续完成激活功能。

代码完善

由于代码的注释写的很详细了,到具体实现这部分就不啰嗦了,并且今后代码只列出有增改的部分。完整代码请在文章最后下载。

UserServlet.java

public String active(HttpServletRequest request, HttpServletResponse response) throws Exception {
	//获取激活码
	String code=request.getParameter("code");
	//调用业务层激活功能
	UserService UserService=new UserServiceImp();
	boolean flag=UserService.userActive(code);
	
	//进行激活信息提示
	if(flag==true){
		//用户激活成功,向request放入提示信息,转发到登录页面
		request.setAttribute("msg", "用户激活成功,请登录!");
		return "/jsp/login.jsp";
	}else{
		//用户激活失败,向request放入提示信息,转发到提示页面
		request.setAttribute("msg", "用户激活失败,请重新激活!");
		return  "/jsp/info.jsp";
	}
}

UserService.java

boolean userActive(String code)throws SQLException ;

UserServiceImp.java

@Override
public boolean userActive(String code) throws SQLException {
	//实现注册功能
	UserDao UserDao=new UserDaoImp();
	///对DB发送select * from user where code=?
	User user=UserDao.userActive(code);
	
	if(null!=user){
		//可以根据激活码查询到一个用户
		//修改用户的状态,清除激活码
		user.setState(1);
		user.setCode(null);
		//对数据库执行一次真实的更新操作  update user set state=1 , code=null where uid=?
		UserDao.updateUser(user);
		return  true;
	}else{
		//不可以根据激活码查询到一个用户
		return false;
	}
}

UserDao.java

User userActive(String code)throws SQLException;
void updateUser(User user)throws SQLException;

UserDaoImp.java

@Override
public User userActive(String code)throws SQLException {
	String sql="select * from user where code=?";
	QueryRunner qr=new QueryRunner(JDBCUtils.getDataSource());
	User user=qr.query(sql, new BeanHandler(User.class),code);
	return user;
}

@Override
public void updateUser(User user) throws SQLException{
	String sql="update user set username=? , password=? ,name =? ,email=?, telephone =? ,birthday =? ,sex=? ,state=? ,code= ? where uid=?";
	QueryRunner qr=new QueryRunner(JDBCUtils.getDataSource());
	Object[] params={user.getUsername(),user.getPassword(),user.getName(),user.getEmail(),user.getTelephone(),user.getBirthday(),user.getSex(),user.getState(),user.getCode(),user.getUid()};
	qr.update(sql,params);
}

login.jsp

第116行修改如下,用于显示我们注册成功后的信息

${msg}

效果演示

重新启动我们项目,点击之前收到的激活链接(如果链接失效了请在数据库中删除aaa用户然后重新注册),提示激活成功。
Javaweb网上商城项目实战(9)实现用户激活功能

然后查看数据库,此时state变成1,已激活状态,并且code也已经清空。

Javaweb网上商城项目实战(9)实现用户激活功能

至此我们就完成了用户注册及激活功能。

源码下载

[dm href=’https://www.jikewenku.com/product/1700.html’]下载地址[/dm]

本站所有文章均来自互联网,如有侵权,请联系站长删除。极客文库 » Javaweb网上商城项目实战(9)实现用户激活功能
分享到:
赞(0)

评论抢沙发

评论前必须登录!