• 猿创征文|瑞吉外卖——移动端_笔记


    个人名片:

    博主酒徒ᝰ.
    专栏瑞吉外卖
    个人简介沉醉在酒中,借着一股酒劲,去拼搏一个未来。
    本篇励志你永远不知道自己有多坚强,直到有一天你除了坚强别无选择。

    本项目基于B站黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis plus开发核心技术的真java实战项目。

    视频链接【黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis
    plus开发核心技术的真java实战项目】 https://www.bilibili.com/video/BV13a411q753?
    点击观看

    一、手机验证登录与退出笔记

    1. 判断是否为空?

    1. StringUtils.isNotEmpty:不为空字符串,
    StringUtils.isNotEmpty(null); //false
    StringUtils.isNotEmpty("");//false
    StringUtils.isNotEmpty(" "); //true
    StringUtils.isNotEmpty("abc"); //true
    
    • 1
    • 2
    • 3
    • 4
    1. !=
      一旦非空就会报空指针异常。所有常用来数据库的查询操作,以避免空指针异常。

    二、邮箱验证码登录笔记

    1. Authenticator

    抽象类,实现getPasswordAuthentication方法,主要用来获取邮箱账户密码,用于验证登录。
    加入自己的邮箱与授权码

    Authenticator authenticator = new 工具类("邮箱(自己的,由此邮箱发送文件)", "授权码");
    
    • 1
    1. 邮箱格式
    Properties properties = new Properties();
    //邮箱smpt协议 ,QQ邮箱
    properties.put("mail.smtp.host", "smtp.qq.com");
    //端口号
    properties.put("mail.smtp.port", "25");
    //用户权限   认证
    properties.put("mail.smtp.auth", "true");
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. MimeMessage

    Message类的子类。
    用户填写邮件的一些信息,例如:发送者,接受者,主题,内容,附件等。

    MimeMessage mailMessage = new MimeMessage(sendMailSession);
    mailMessage.setFrom(new InternetAddress(""));//发送邮件的地址/就填你的qq邮箱
    // Message.RecipientType.TO属性表示接收者的类型为TO
    mailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
    //设置utf-8类型
    mailMessage.setSubject(subject, "UTF-8");
    //设置日期
    mailMessage.setSentDate(new Date());
    
    mailMessage.setContent(mainPart);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    1. Session.getDefaultInstance

    Session:更具Properties属性,和用户验证信息创建MimeMessage。

    javax.mail.Session sendMailSession = javax.mail.Session.getDefaultInstance(properties, authenticator);
    
    • 1
    1. Multipart

    容器类,用于装封装了邮件正文内容和附件的BodyPart。

    1. BodyPart

    封装邮件正文和附件集编写附件名称,如果邮件中存在附件,要先写附件在写正文。否则会覆盖。

    BodyPart html = new MimeBodyPart();
    html.setContent(content.trim(), "text/html; charset=utf-8");
    mainPart.addBodyPart(html);
    
    • 1
    • 2
    • 3
    1. Transport
    Transport.send(mailMessage);
    
    • 1

    邮箱即可以被发送,也可以被接收。JavaMail是由Transport完成邮箱的发送。
    Transport包含send方法,用来完成邮箱ed发送操作。括号内为MailMessage类型数据。

    三、地址管理笔记

    1. @RequestBody

    没有输入值,也可以获取前端信息。
    点击一个按钮,按钮所代表的id也可以传输给后台。

    四、订单明细笔记

    1. AtomicInteger

    原子操作类
    高并发环境下的高效程序处理。
    对int类型的封装。
    .addAndGet()方法:先加上指定值再获取当前值。

  • 相关阅读:
    uniapp书写顶部选项卡代码详细例子
    解决警告:the >>> and /deep/ combinators have been deprecated. Use :deep() instead.
    Linux CentOS 本地yum配置
    紫杉醇的PEG-壳聚糖聚合物胶束|壳寡糖硬脂酸聚合物(CSO-SA)|DOX-CSO-SA阿霉素-壳寡糖-硬脂酸|试剂
    1. RabbitMq 的基本概念
    render函数使用和详解
    FFmpeg入门详解之117:视频监控的架构和流程
    使用SpringBoot发送异步事件的方式解决前端接口调用超时问题
    PCIe系统中Switch介绍
    <JavaEE> 理解IP协议的两个功能 -- 地址管理和路由选择
  • 原文地址:https://blog.csdn.net/m0_65144570/article/details/126815668