ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

springboot笔记三

2021-12-29 23:33:18  阅读:172  来源: 互联网

标签:springboot redis springframework public simpleMailMessage 笔记 org email


 

------------恢复内容开始------------

一.springboot发送消息到邮箱并设置60秒有效时长(存到redis里面)

导入两个依赖:

<!--邮箱-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>

    <!--reids-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>

前端页面:

<!DOCTYPE html>
<html xmlns:>

<!-- Head -->
<head>
    <title>注册页面</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="application/x-javascript"> addEventListener("load", function () {
        setTimeout(hideURLbar, 0);
    }, false);

    function hideURLbar() {
        window.scrollTo(0, 1);
    } </script>
    <link rel="stylesheet" href="css/loginRegister.css" type="text/css" media="all">
</head>

<body>

<h1>springboot学习系统</h1>

<div class="container">
    <div class="login">
        <h2>员工登录</h2>
        <div class="form">
            <input type="text"  placeholder="请输入公司邮箱" v-model="email">
            <button class="sendCode" @click="sendCheckCode">发送验证码</button>
            <input type="text" placeholder="密码" >
            <button class="loginBtn">登录</button>
        </div>
    </div>
</div>

<script src="./js/vue.min.js"></script>
<script src="./js/axios.min.js"></script>
</body>


<script>

    new Vue({
        el:".login",
        data:{
            email:"1136403002@qq.com"
        },
        methods:{
            sendCheckCode(){
                // console.log("蛋妞点击")
                axios.get("sendEmailCode?email="+this.email)
            }

        }


    })


</script>

</html>

controller

@RestController
public class EmailController {

//        与component注解共同使用
@Autowired
private EmailService emailService;
@Autowired
private JavaMailSender javaMailSender;

    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    @RequestMapping("sendEmailCode")
    public String sendEmailCode(String email){
        String code="1346";
        SimpleMailMessage simpleMailMessage=new SimpleMailMessage();
        simpleMailMessage.setFrom("验证码,请查收<18859986862@163.com>");
        simpleMailMessage.setSubject("验证码");
        simpleMailMessage.setText(code);
        simpleMailMessage.setTo(email);

        stringRedisTemplate.opsForValue().set("redis_key_"+email,code,60,TimeUnit.SECONDS);
        javaMailSender.send(simpleMailMessage);

        return "success";
    }


}

 部分配置:

  mail:
    host: smtp.163.com
    username: 
    password: 
    default-encoding: utf-8
  redis:
    database: 1

 跳转config:(实现一进去就跳到login.xml)

package stu.adam.springmybaitsgen.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


@Configuration
public class MVCConfig implements WebMvcConfigurer {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addRedirectViewController("/","login.html");
    }
}

效果:(redis数据库的东西将在一分钟后消失)

 

 

 

二. 前端点击登入发送验证码

 

三.异步任务(解决发送的速度慢的问题)

 

 

 

 

 

 

 方法抽取:

 

 

 

 默认线程池大小是八个

补充:线程池配置:

 

 可用属性:
\

 

标签:springboot,redis,springframework,public,simpleMailMessage,笔记,org,email
来源: https://www.cnblogs.com/thomasvide/p/15747142.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有