用户注册+邮箱验证的简单例子

您所在的位置:网站首页 ubisoft账号注册请完成验证码输入 用户注册+邮箱验证的简单例子

用户注册+邮箱验证的简单例子

2023-12-22 16:25| 来源: 网络整理| 查看: 265

在这里插入图片描述 用springboot写的。 输入密码和用户名,再输入邮箱。点击发送,发给你验证码,输入正确的验证码。然后数据库自动记录你的用户名和密码。 写的不好请见谅,适合新手练手。 还有一个问题,就是前端向后端发送用户密码的时候,不安全。这里需要解决。网上说是要写加密算法

怎么发送邮箱 怎么配置oracle数据库

文章目录 用户类和邮箱类用户类:数据库里面保存的用户BaseBeanuser1.java 邮箱类:前端验证时发给后台的邮箱号码 service层发送邮箱的服务数据库保存的服务 controller层mail.html文件测试

用户类和邮箱类 用户类:数据库里面保存的用户

数据里面保存用户名和密码,主键是java 自动生成的一个序列。

BaseBean package wkp.myspringdemo.bean; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.MappedSuperclass; @MappedSuperclass public class BaseBean { /** * 自增长ID,作为主键 */ @Id @GeneratedValue private Long id; } user1.java

用户类。

package wkp.myspringdemo.bean; import javax.persistence.*; @Entity @Table(name = "user1") public class User1 extends BaseBean{ private String name; private String password; public String getName() { return name; } public String getPassword() { return password; } public void setName(String name) { this.name = name; } public void setPassword(String password) { this.password = password; } } 邮箱类:前端验证时发给后台的邮箱号码 package wkp.myspringdemo.bean; public class UserMail { private String qqmail; public String getQqmail() { return qqmail; } public void setQqmail(String qqmail) { this.qqmail = qqmail; } } service层 发送邮箱的服务 package wkp.myspringdemo.service; public interface IMailService { /** * 发送文本邮件 * @param to 收件人 * @param subject 主题 * @param content 内容 */ void sendSimpleMail(String to, String subject, String content); // /** // * 发送HTML邮件 // * @param to 收件人 // * @param subject 主题 // * @param content 内容 // */ // public void sendHtmlMail(String to, String subject, String content); // // // // /** // * 发送带附件的邮件 // * @param to 收件人 // * @param subject 主题 // * @param content 内容 // * @param filePath 附件 // */ // public void sendAttachmentsMail(String to, String subject, String content, String filePath); } package wkp.myspringdemo.service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import wkp.myspringdemo.service.IMailService; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import java.io.File; @Service public class IMailServiceImpl implements IMailService { private final Logger logger = LoggerFactory.getLogger(this.getClass()); /** * Spring Boot 提供了一个发送邮件的简单抽象,使用的是下面这个接口,这里直接注入即可使用 */ @Autowired private JavaMailSender mailSender; /** * 配置文件中我的qq邮箱 */ @Value("${spring.mail.from}") private String from; /** * 简单文本邮件 * @param to 收件人 * @param subject 主题 * @param content 内容 */ @Override public void sendSimpleMail(String to, String subject, String content) { //创建SimpleMailMessage对象 SimpleMailMessage message = new SimpleMailMessage(); //邮件发送人 message.setFrom(from); //邮件接收人 message.setTo(to); //邮件主题 message.setSubject(subject); //邮件内容 message.setText(content); //发送邮件 mailSender.send(message); } // // /** // * html邮件 // * @param to 收件人 // * @param subject 主题 // * @param content 内容 // */ // @Override // public void sendHtmlMail(String to, String subject, String content) { // //获取MimeMessage对象 // MimeMessage message = mailSender.createMimeMessage(); // MimeMessageHelper messageHelper; // try { // messageHelper = new MimeMessageHelper(message, true); // //邮件发送人 // messageHelper.setFrom(from); // //邮件接收人 // messageHelper.setTo(subject); // //邮件主题 // message.setSubject(subject); // //邮件内容,html格式 // messageHelper.setText(content, true); // //发送 // mailSender.send(message); // //日志信息 // logger.info("邮件已经发送。"); // } catch (MessagingException e) { // logger.error("发送邮件时发生异常!", e); // } // } // // /** // * 带附件的邮件 // * @param to 收件人 // * @param subject 主题 // * @param content 内容 // * @param filePath 附件 // */ // @Override // public void sendAttachmentsMail(String to, String subject, String content, String filePath) { // MimeMessage message = mailSender.createMimeMessage(); // try { // MimeMessageHelper helper = new MimeMessageHelper(message, true); // helper.setFrom(from); // helper.setTo(to); // helper.setSubject(subject); // helper.setText(content, true); // // FileSystemResource file = new FileSystemResource(new File(filePath)); // String fileName = filePath.substring(filePath.lastIndexOf(File.separator)); // helper.addAttachment(fileName, file); // mailSender.send(message); // //日志信息 // logger.info("邮件已经发送。"); // } catch (MessagingException e) { // logger.error("发送邮件时发生异常!", e); // } // // // } } 数据库保存的服务 package wkp.myspringdemo.service; import wkp.myspringdemo.bean.User1; import java.util.List; public interface UserService { /** * 保存用户对象 * @param user */ void save(User1 user); /** * 获取所有用户对象 * @return */ List getUserList(); //生成随机验证码 String getRandomString(); } package wkp.myspringdemo.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import wkp.myspringdemo.bean.User1; import wkp.myspringdemo.dao.UserDao; import java.util.List; import java.util.Random; @Service public class UserServiceImpl implements UserService { @Autowired private UserDao userDao; @Override public void save(User1 user) { userDao.save(user); } @Override public List getUserList() { return userDao.findAll(); } public String getRandomString(){ Random random = new Random(); StringBuilder builder = new StringBuilder(); builder.append(random.nextInt(9)+1).append(random.nextInt(9)+1).append(random.nextInt(9)+1).append(random.nextInt(9)+1); return builder.toString(); } } controller层 package wkp.myspringdemo.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import wkp.myspringdemo.service.IMailService; import wkp.myspringdemo.bean.User1; import wkp.myspringdemo.bean.UserMail; import wkp.myspringdemo.service.UserService; @Controller public class UserController { @Autowired private UserService userService; @Autowired IMailService mailService; String code; @RequestMapping("/sentMail") @ResponseBody public void sentMail(UserMail mail){ code=userService.getRandomString(); mailService.sendSimpleMail(mail.getQqmail(),"测试",code); } @RequestMapping("/mail") //注册界面 public String mail(){ return "mail"; } //保存用户到数据库 @RequestMapping("/register") @ResponseBody public boolean register(User1 user){ userService.save(user); return true; } //验证输入的验证码正确与否 @RequestMapping("/verifyCode") @ResponseBody public boolean verifyCode(String input){ int ans= input.compareTo(code); return ans==0?true:false; } } mail.html文件 邮箱验证 用户名: 密码: 确认密码: 邮箱: 发送 验证码: 确认 var issend=false; function sendMail() { var qqmail=$("#qqmail").val(); var reg = /^[0-9a-zA-Z_.-]+[@][0-9a-zA-Z_.-]+([.][a-zA-Z]+){1,2}$/; if(!reg.test(qqmail)){ alert("输入的邮箱不正确,请重新输入"); return; } $.post("sentMail",{qqmail:qqmail},function () { document.getElementsByTagName("button")[0].innerText="已发送,请注意查收"; issend=true; }); }; function codeVerify() { if(!issend) return; var password2=$("#password2").val(); var inputcode=$("#code").val(); var name=$("#name").val(); if(password2==$("#password").val()){ $.post("verifyCode",{input:inputcode},function (res) { if(res){ $.post("register",{name:name,password:password2},function (ans) { alert("注册成功。请重新登录"); // window.location="/logup"; }); }else alert("验证码不正确"); }); }else alert("两次输入的密码不一致"); }; 测试

输入localhost\mail

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3