首页 > 数据库 >Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。

Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。

时间:2023-05-25 15:32:53浏览次数:69  
标签:web Fdog String 数据库 点击 服务器 短信 模板



文章目录

  • 1. 前言
  • 2. 使用腾讯云短信接口发送短信
  • 3. java连接数据库
  • 4.部署到服务器(如果你有的话)



目录

Fdog系列(一):思来想去,不如写一个聊天软件,那就从仿QQ注册页面开始吧。Fdog系列(二):html写完注册页面之后怎么办,用java写后台响应呀。

文章中出现的源码获取方式:评论区留下邮箱地址。

创作不易,各位看官点个关注,点个赞呗!


1. 前言

前面两篇分别使用html写了前端网页和使用java写后端响应代码,实现了前端与后端的数据交互,今天这篇将介绍如何将数据写入数据库,并且实现短信验证码的发送以及如何部署到服务器上面,需要用到的有MYSQL,腾讯短信服务API,云服务器,Tomcat。

所有文章源码已整体打包上传至gizzzthub,求星星!


2. 使用腾讯云短信接口发送短信

我找了很多提供短信接口服务的,要不就是需要一次性购买几千条,要不就是需要企业才能购买,兜兜转转好几圈,最后还是在腾讯云这里找到了免费的短信,新用户可以免费领取100条,并且之后每个月还会送,而且不需要企业用户就可以使用,链接给你们找到了,自行领取。

我就当你已经领取了短信,继续往下走,点击控制台,然后搜索短信,进入下面的页面。

Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。_java


点击国内短信,签名管理,创建签名,选择签名用途为自用,签名类型为网站,然后会让你上传网站备案后台截图,申请说明就写学习使用短信服务就可以了。

想要给服务器备案需要服务器至少三个月的时常

Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。_java_02


创建正文模板,模板中的{1}就是我们要发送的验证码,差不多30分钟就会申请成功。

Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。_java_03


点击应用列表,如果没有默认应用,可以自己创建一个

Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。_mysql_04


点击应用,有一个SDKAppID和App Key,这两个码将作为短信发送的重要凭证,应妥善保管。

Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。_java_05

点击访问管理,获取密钥对

Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。_数据库_06

上面的工作都完成之后,点击短信服务文档,里面有关于SDK的下载文档,包括Maven和GitHub两种,博主使用的是第一种,第一次用的时候也是费了一些力气,Maven无非是把包整合到了一块,那我直接把包给你下载好,如果嫌麻烦可以直接使用我下载好的包tencentcloud-sdk-java-3.1.217.jar

然后来看下具体代码的实现

String secretId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
String secretKey= "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
//短信应用 ID
String appid = "xxxxxxxxx";
//短信签名内容
String sign = "花狗的小站";
//短信模板 ID
String templateID = "xxxxxx";
//+86为国家码,182********为手机号,最多不要超过200个手机号
String[] phoneNumbers = { "+86"+phone};
//模板参数: 若无模板参数,则设置为空
String[] templateParams = {String.valueOf(randnum)};//对应模板中{1} randnum为我生成的随机五位数
try {
//必要步骤: 实例化一个认证对象,入参需要传入腾讯云账户密钥对 secretId 和 secretKey
Credential cred = new Credential(secretId , secretKey);
ClientProfile clientProfile = new ClientProfile();
//SDK 默认用 TC3-HMAC-SHA256 进行签名 非必要请不要修改该字段				 
clientProfile.setSignMethod("HmacSHA256");
// 实例化 SMS 的 client 对象 第二个参数是地域信息,可以直接填写字符串 ap-guangzhou,或者引用预设的常量
SmsClient client = new SmsClient(cred, "", clientProfile);
//实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数 您可以直接查询 SDK 源码确定接口有哪些属性可以设置
SendSmsRequest req = new SendSmsRequest();
// 短信应用 ID: 在 [短信控制台] 添加应用后生成的实际 SDKAppID,例如1400006666 
req.setSmsSdkAppid(appid);
// 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名,可登录 [短信控制台] 查看签名信息 
req.setSign(sign);
//短信模板 ID: 必须填写已审核通过的模板 ID,可登录 [短信控制台] 查看模板 ID 
req.setTemplateID(templateID);
//下发手机号码,采用 e.164 标准,+[国家或地区码][手机号] 例如+8613711112222
req.setPhoneNumberSet(phoneNumbers);				
req.setTemplateParamSet(templateParams);
// 通过 client 对象调用 SendSms 方法发起请求。注意请求方法名与请求对象是对应的 返回的 res 是一个SendSmsResponse 类的实例,与请求对象对应
SendSmsResponse res = client.SendSms(req);
// 输出 JSON 格式的字符串回包
System.out.println(SendSmsResponse.toJsonString(res));
// 可以取出单个值,您可以通过官网接口文档或跳转到 response 对象的定义处查看返回字段的定义
System.out.println(res.getRequestId());

短信效果:

Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。_mysql_07


注册成功后,来看下如何将数据写入数据库。


3. java连接数据库

请先下载我为你们准备好的JDBC

如果连接过程中有一些错误,这篇文章可能会帮助你。Java连接MySQL以及出现的问题

//加载驱动程序
try {
	Class.forName("com.mysql.jdbc.Driver");
	System.out.print("驱动程序加载成功,");
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	}
//连接数据库  127.0.0.1可以改成你服务器的ip也可以写本地ip,因为最终是要在服务器运行的,fdogsql是数据库的名称
String str = "jdbc:mysql://127.0.0.1:3306/fdogsql?useUnicode=true&characterEncoding=UTF-8&userSSL=false&serverTimezone=GMT%2B8";	
Connection conn=null;
try {
	conn=DriverManager.getConnection(str,"root","xxxxxx");
	if (!conn.isClosed()) {
		System.out.println("连接数据库成功");
	}
	} catch (SQLException e) {
		System.out.println("链接数据库失败: "+e.getMessage());
	}

//运用我们上一篇学过的从前端获取的数据,然后写入数据库
String username = request.getParameter("username");
String password = request.getParameter("password");
String phone = request.getParameter("phone");
String account = String.valueOf(num.ReturnRandNumer_2());//ReturnRandNumer_2函数为随机生成一个8位数作为账号
try{
	String sql="insert into user(account,phone,name,password) values("+"'"+account+"',"+"'"+phone+"',"+"'"+username+"',"+"'"+password+"'"+")"; 
	Statement stmt = conn.createStatement();
	stmt.executeUpdate(sql);
	System.out.println("写入成功");
			
	//调用注册成功页面
	}catch(SQLException e){
		System.out.println("写入失败");
	}

4.部署到服务器(如果你有的话)

Eclipse 点击File,Export导出,选择WAR文件导出,记得勾选下面红框内容

Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。_java_08

使用文件上传工具,将打包好的WAR文件,上传至服务器Tomcat的webapps文件夹下。

如果没有上传工具,点击下载

如果还没有配置Tomcat,点击Tomcat配置教程

上传文件之后,Tomcat会自动将WAR文件解压,使用命令进入bin目录,使用命令./shutdown.sh关闭tomcat服务,然后使用./start.sh开启tomcat服务,稍等几秒钟,即可访问。

点击访问本案例:Fdog

文章的最后再说一遍!想要源码的可在评论区留下邮箱,随手给个小赞!

下一篇内容将使用Qt编写类似于QQ的客户端登录界面,先上一张图,包括很多小技能,关注我,不迷路哦!

Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。_数据库_09


下期见!



标签:web,Fdog,String,数据库,点击,服务器,短信,模板
From: https://blog.51cto.com/u_14770531/6348368

相关文章

  • Fdog系列(二):html写完注册页面之后怎么办,用java写后台响应呀。
    文章目录1.前言2.创建javaweb项目3.创建Server4.解决中文乱码问题5.响应后台数据目录Fdog系列(一):思来想去,不如写一个聊天软件,那就从仿QQ注册页面开始吧。所有文章源码已整体打包上传至github,求星星!1.前言接着第一篇用html完成了注册页面,第二篇,我们来完成后台数据处理,需要用......
  • 调用WebService和WCF
    标题:CMD命令提示符命令:cmd.exe参数:%comspec%/k"C:\ProgramFiles\MicrosoftVisualStudio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"初始目录:$(ItemDir) 标题:WSDL生成代理类命令:C:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v10.0A\bin\NETFX4.8Tools......
  • 鼎捷T100二次开发资料大全 T100 webservice开发明细 4GL从入门到实战 T100实战例子
    下载地址  https://www.syjshare.com/res/Y8GX6HHE   ......
  • Cisco Secure Web Appliance Virtual 15.0 发布 - 适用于网络安全的思科高级威胁防护
    CiscoSecureWebApplianceVirtual,AsyncOSforWSA15.0.0LD请访问原文链接:https://sysin.org/blog/cisco-secure-web-appliance-15/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCiscoSecureWebAppliance无惧高级威胁​自动拦截危险网站,在允许用户访问......
  • SpringAOP【Web后端开发进阶】
    AOP(思想):面向切面编程思想的实现:动态代理 动态代理的2种实现方式:1、基于接口的JDK动态代理2、基于子类的CGLIB动态代理 AOP思想的作用:1、在不改变原程序代码的前提下,对方法功能增强2、像添加插件一样,任意插拔。(程序更加灵活)......
  • 支持复制粘贴word公式的百度Web编辑器
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能够接......
  • web欢迎页
    1. 什么是一个web站点的欢迎页面?20  - 对于一个webapp来说,我们是可以设置它的欢迎页面的。  - 设置了欢迎页面之后,当你访问这个webapp的时候,或者访问这个web站点的时候,没有指定任何“资源路径”,这个时候会默认访问你的欢迎页面。  - 我们一般的访问方式是:    - http......
  • 外汇天眼:假短信催缴ETC通行费,填写资料秒被盗刷1万元!
    近年来诈骗犯罪不但持续增长,就连手法也愈来愈多元,虽然本质上都是骗取个资或金钱,但当它们以不同形态出现时,如果民众稍有不慎,可能就会落入诈骗集团的陷阱中。不久前有苦主在网络平台PTT上发文,分享自己遭假缴费简讯欺骗的惨痛教训,呼吁大家小心新型诈骗手法。据了解,受害者是在与同事吃......
  • Exp8 Web安全
    目录一.实验信息二.实验内容三.实验基础问题问答四.实验过程4.1Web前端HTML4.2Web前端javascipt4.3Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表4.4Web后端:编写PHP网页,连接数据库,进行用户认证4.5最简单的SQL注入,XSS攻击测试4.6选做Webgoat或类似平台......
  • webpack-loader打包处理less文件
    打包处理less文件运行npmiless-loaderless-D命令在webpack.config.js的module->rules数组中,添加loader规则如下:module:{rules:[//定义了不同模块对应的loader{test:/\.css$/,use:['style-loader','css-loader']},//处理.less文......