当前位置: 首页 > news >正文

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

个人名片:

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

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

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

目录

  • 一、手机验证登录与退出笔记
    • 1. 判断是否为空?
  • 二、邮箱验证码登录笔记
  • 三、地址管理笔记
  • 四、订单明细笔记

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

1. 判断是否为空?

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

二、邮箱验证码登录笔记

  1. Authenticator

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

Authenticator authenticator = new 工具类("邮箱(自己的,由此邮箱发送文件)", "授权码");
  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. 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. Session.getDefaultInstance

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

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

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

  1. BodyPart

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

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

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

三、地址管理笔记

  1. @RequestBody

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

四、订单明细笔记

  1. AtomicInteger

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

相关文章:

  • SpringBoot异常处理——异常显示的页面
  • 高等数学二从零开始学习的总结笔记(持续更新)
  • 无服务器学习01:基本概念+优点+面临的挑战
  • C#实验二
  • 熟悉c语言结构体
  • uboot源码分析(基于S5PV210)之启动第二阶段
  • 【分布式】分布式系统、Redis中间件 、Cache穿透、击穿、雪崩
  • Rust基础语法
  • 电子知识学习网站
  • 全站最简单 “数据滚动可视化大屏” 【JS基础拿来即用】
  • Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(开发导航栏及公共部分)
  • ScalableViT网络模型
  • Nginx配置流数据转发指导
  • 【单细胞高级绘图】10.KEGG富集结果的圆圈图
  • 怎样在应用中实现自助报表功能?
  • angular组件开发
  • AWS实战 - 利用IAM对S3做访问控制
  • Date型的使用
  • Docker下部署自己的LNMP工作环境
  • ES学习笔记(12)--Symbol
  • Java 内存分配及垃圾回收机制初探
  • PAT A1050
  • Python socket服务器端、客户端传送信息
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • tweak 支持第三方库
  • vue学习系列(二)vue-cli
  • 服务器从安装到部署全过程(二)
  • 汉诺塔算法
  • 基于axios的vue插件,让http请求更简单
  • 码农张的Bug人生 - 初来乍到
  • 浅谈Golang中select的用法
  • 使用agvtool更改app version/build
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 学习Vue.js的五个小例子
  • 用Python写一份独特的元宵节祝福
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • # 数论-逆元
  • (zt)最盛行的警世狂言(爆笑)
  • (力扣)循环队列的实现与详解(C语言)
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .gitignore文件—git忽略文件
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET delegate 委托 、 Event 事件
  • .NET Framework杂记
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .NET连接MongoDB数据库实例教程
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • [].slice.call()将类数组转化为真正的数组
  • [2016.7.Test1] T1 三进制异或
  • [android] 天气app布局练习
  • [CareerCup] 17.8 Contiguous Sequence with Largest Sum 连续子序列之和最大
  • [CF482B]Interesting Array