学习地址: B站up主“编程不止Coding”
认识Git
# 账号配置
git config --list
git config --global user.name "你的账号"
git config --global user.email "你的邮箱"
#本地仓库
git init
git status -s
git add *
git commit -m '写提交的描述'
#生成秘钥
ssh-keygen -t rsa -C "你的邮箱"
#推送已有项目
git remote add origin
https://git #这里是推送去的地址
git push -u origin master
# 克隆已有仓库
git clone https://git #这里是git克隆的地址
发送邮件 – 注册前准备
邮箱设置
- 启动客户端SMTP 服务
注册并使用新浪邮箱,设置启动 POP3/SMTP服务
Spring Email
- 导入jar包
在 maven Repository 中搜索spring mail 并导入 - 邮箱参数配置 (注:这里出现一个错误,解决并已提交到我的BUG集)
# MailProperties 邮箱参数配置
spring.mail.host=smtp.sina.com
spring.mail.port=465
spring.mail.username=你的账号
#采用授权码作为密码
spring.mail.password=你的授权码
spring.mail.protocol=smtps
#这里的意思是发送邮件的时候是采用ssl安全连接的
spring.mail.properties.mail.smtp.ssl.enable=true
- 使用JavaMailsender发送邮件
//封装一个共用方法被外界调用
public void sendMail(String to, String subject, String content){
try {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content, true);
mailSender.send(helper.getMimeMessage());
} catch (MessagingException e) {
logger.error("发送邮件失败:" + e.getMessage());
}
}
//并提交一个测试方法
@Test
public void testTextMail(){
mailClient.sendMail("muyiupup@sina.com", "TEST", "welcome.");
}
模板引擎
- 使用Thymeleaf 发送 HTML 邮件
//测试邮件模板引擎
@Test
public void testHtmlMail(){
Context context = new Context();
context.setVariable("username", "sunday");
String content = templateEngine.process("/mail/demo", context);
System.out.println(content);
mailClient.sendMail("muyiupup@sina.com", "HTML", content);
}
调用的模板
<!DOCTYPE html>
<!--1. xmlns:指定我们需要用的模板引擎-->
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>邮件示例</title>
</head>
<body>
<p>欢迎你,<span style="color: red;" th:text="${username}"></span>!</p>
</body>
</html>
开发注册功能
访问注册页面
-
点击顶部区域内的链接,打开注册页面
-
视图层设置
@Controller
public class LoginController {
@RequestMapping(path = "/register", method = RequestMethod.GET)
public String getRegisterPage(){
return "/site/register";
}
}
- 注册页面修改
1.
<html lang="en" xmlns:th="http://www.thymeleaf.org">
2.
<link rel="stylesheet" th:href="@{/css/global.css}" />
<link rel="stylesheet" th:href="@{/css/login.css}" />
3.
<script th:src="@{/js/global.js}"></script>
<script th:src="@{/js/register.js}"></script>
4.在头部引用
<header class="bg-dark sticky-top" th:replace="index::header">
5.首页修改
<a class="nav-link" th:href="@{/index}">首页</a>
<a class="nav-link" th:href="@{/register}">注册</a>
<!-- 首页的头部修改 -->
<header class="bg-dark sticky-top" th:fragment="header">
访问注册页面完成
提交注册数据
- 通过表单提交数据
//导入 Commons-lang3 包
<!-- 导入Commons-lang 包,为我们提供一些判断字符串,集合等一些常用数据空值的情况-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
- 服务端验证账号是否存在、邮箱是否已注册
- 服务端发送激活邮件
激活注册账号
- 点击邮件中的链接,访问服务端的激活功能
开发流程
直接调用模板,由模板给浏览器做出响应
数据访问层 ----> 业务层 ----> 视图层