用户登录时,检查用户状态是否激活,如果没有激活跳转到激活页面进行激活

本文描述了一个用户登录系统的实现方式,包括验证用户凭据及检查用户账号是否已激活的过程。如果用户未激活,则通过电子邮件发送激活链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


用户登录后再查询用户状态是否激活


UserService service = new UserService();

        //用户登录
        User user = service.findUser(username,password);
        if(user==null) {
            String loginError = "用户名或密码错误";
            request.setAttribute("loginError", loginError);
            request.setAttribute("username", username);
            request.setAttribute("password", password);
            request.getRequestDispatcher("/login.jsp").forward(request, response);
            return;
        } else {
            // 验证用户是否激活
            boolean isUserHasActive = service.isUserHasActive(username);
            if (!isUserHasActive) {
                String emailMsg = "请选择您注册的邮箱进行激活" + "<a href='http://localhost/A_Store3/user?method=active&activecode='"
                        + user.getCode() + ">" + "http://localhost/A_Store3/user?method=active&activecode="
                        + user.getCode() + "</a>";
                try {
                    MailUtils.sendMail(user.getEmail(), "激活邮件", emailMsg);
                } catch (MessagingException e) {
                    e.printStackTrace();
                }

                response.sendRedirect(request.getContextPath() + "/registerSuccess.jsp");
                return;
            }

            session.setAttribute("user", user);
            request.getRequestDispatcher("/index.jsp").forward(request, response);
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值