微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

springboot笔记三

 

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

一.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:"[email protected]"
        },
        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("验证码,请查收<[email protected]>");
        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数据库的东西将在一分钟后消失)

 

 

 

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

 

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

 

 

 

 

 

 

 方法抽取:

 

 

 

 认线程池大小是八个

补充:线程池配置:

 

 可用属性:

\

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐