欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于maven的旅游网站设计之邮箱验证功能实现

程序员文章站 2023-12-23 19:26:27
...

发送邮件

邮件工具类:MailUtils,调用其中sendMail方法可以完成邮件发送。

用户点击邮件**功能实现

用户**其实就是修改用户表中的status为‘Y’
基于maven的旅游网站设计之邮箱验证功能实现
发送邮件的实现方法:

/2.1设置**码,唯一字符串
        user.setCode(UuidUtil.getUuid());
        //2.2设置**状态
        user.setStatus("N");
        userDao.save(user);

        //3.**邮件发送,邮件正文?

        String content="<a href='http://localhost/travel/activeUserServlet?code="+user.getCode()+"'>点击**【旅游网】</a>";

        MailUtils.sendMail(user.getEmail(),content,"**邮件");

        return true;
    }

**代码的实现

@WebServlet("/activeUserServlet")
public class ActiveUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.获取**码
        String code = request.getParameter("code");
        if(code != null){
            //2.调用service完成**
            UserService service = new UserServiceImpl();
            boolean flag = service.active(code);

            //3.判断标记
            String msg = null;
            if(flag){
                //**成功
                msg = "**成功,请<a href='login.html'>登录</a>";
            }else{
                //**失败
                msg = "**失败,请联系管理员!";
            }
            response.setContentType("text/html;charset=utf-8");
            response.getWriter().write(msg);
        }
    }

其中所调用的Service层总的UserServiceImpl类active方法用于根据**码查询用户对象,调用Dao修改**状态,从而根据Flag的值判断**是否成功。

@Override
    public boolean active(String code) {
        //1.根据**码查询用户对象
        User user = userDao.findByCode(code);
        if(user != null){
            //2.调用dao的修改**状态的方法
            userDao.updateStatus(user);
            return true;
        }else{
            return false;
        }
    }

Dao中所调用的UpdateStatus方法,即修改Status值为Y。

@Override
    public void updateStatus(User user) {
        String sql = " update tab_user set status = 'Y' where uid=?";
        template.update(sql,user.getUid());
    }

总结

MailUtils,调用其中sendMail方法可以完成邮件发送→用户**其实就是修改用户表中的status为‘Y’→Servelt层获取**码,根据**码查询User对象→调用Service修改**状态→底层sql语句由Dao实现

相关标签: JAVA Web学习

上一篇:

下一篇: