java实现短信验证码登陆 demo

这篇博客详细介绍了如何使用Java、Servlet和JSP来实现手机短信验证码发送功能。首先选择秒嘀云平台并完成认证获取参数,然后创建短信模板,接着编写Java代码实现发送短信接口,并提供了一个HTTP请求工具类。最后展示了项目目录结构,包括Config.java配置类、HttpUtil.java工具类和GetMessageCode.java验证码获取类,以及LoginServlet和login.jsp页面代码。
摘要由CSDN通过智能技术生成

java + servlet+ jsp实现发送手机短信验证码

【1】选择平台,完成认证。

短信登陆平台很多,自己可以看个人爱好选择。

我们使用的API平台是:秒嘀云: https://sms.miaodiyun.com/login.html

注册该平台,完成认证就可以获取到参数:ACCOUNT SID ,  AUTH TOKEN , API

1422859-20190705142653064-1609609498.jpg

【2】创建短信模板 (该模板必须创建,通过平台审核只会才可以使用,而且后续的参数 smsContent 要和模板中的一致 )

1422859-20190705143225975-976786085.jpg

【3】发送短信接口

http://www.miaodiyun.com/doc/https_sms.html

编写java手机短信发送代码

【4】项目目录结构  (idea 中创建的普通web工程)

1422859-20190705144007850-1171527959.jpg

【5】Config.java

public class Config {
    /**
     * url前半部分
     */
    public static final String BASE_URL = " https://openapi.miaodiyun.com/distr*******dSMS";

    /**
     * 开发者注册后系统自动生成的账号,可在官网登录后查看
     */
    public static final String ACCOUNT_SID = "fcf340ac***********915927";

    /**
     * 开发者注册后系统自动生成的TOKEN,可在官网登录后查看
     */
    public static final String AUTH_TOKEN = "648384a1***********2c33e4f";

    /**
     * 响应数据类型, JSON或XML
     */
    public static final String RESP_DATA_TYPE = "JSON";
}

【6】http请求工具HttpUtil.java

package com.miaodi.comment;

import org.apache.commons.codec.digest.DigestUtils;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;

/**
 * http请求工具
 */
public class HttpUtil {
    /**
     * 构造通用参数timestamp、sig和respDataType
     * 
     * @return
     */
    public static String createCommonParam(String sid,String token) {
        // 时间戳
        long timestamp = System.currentTimeMillis();
        // 签名
        String sig = DigestUtils.md5Hex(sid + token + timestamp);
        return "&timestamp=" + timestamp + "&sig=" + sig + "&respDataType=" + Config.RESP_DATA_TYPE;
    }

    /**
     * post请求
     * 
     * @param url
     *            功能和操作
     * @param body
     *            要post的数据
     * @return
     *

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值