文章目錄
- 1. 前言
- 2. 使用騰訊云短信介面發送短信
- 3. java連接資料庫
- 4.部署到服務器(如果你有的話)
目錄
Fdog系列(一):思來想去,不如寫一個聊天軟體,那就從仿QQ注冊頁面開始吧,
Fdog系列(二):html寫完注冊頁面之后怎么辦,用java寫后臺回應呀,
文章中出現的原始碼獲取方式:評論區留下郵箱地址,
創作不易,各位看官點個關注,點個贊唄!
1. 前言
前面兩篇分別使用html寫了前端網頁和使用java寫后端回應代碼,實作了前端與后端的資料互動,今天這篇將介紹如何將資料寫入資料庫,并且實作短信驗證碼的發送以及如何部署到服務器上面,需要用到的有MYSQL,騰訊短信服務API,云服務器,Tomcat,
2. 使用騰訊云短信介面發送短信
我找了很多提供短信介面服務的,要不就是需要一次性購買幾千條,要不就是需要企業才能購買,兜兜轉轉好幾圈,最后還是在騰訊云這里找到了免費的短信,新用戶可以免費領取100條,并且之后每個月還會送,而且不需要企業用戶就可以使用,鏈接給你們找到了,自行領取,騰訊云短信免費試用
我就當你已經領取了短信,繼續往下走,點擊控制臺,然后搜索短信,進入下面的頁面,

點擊國內短信,簽名管理,創建簽名,選擇簽名用途為自用,簽名型別為網站,然后會讓你上傳網站備案后臺截圖,申請說明就寫學習使用短信服務就可以了,
想要給服務器備案需要服務器至少三個月的時常

創建正文模板,模板中的{1}就是我們要發送的驗證碼,差不多30分鐘就會申請成功,

點擊應用串列,如果沒有默認應用,可以自己創建一個

點擊應用,有一個SDKAppID和App Key,這兩個碼將作為短信發送的重要憑證,應妥善保管,

點擊訪問管理,獲取密鑰對

上面的作業都完成之后,點擊短信服務檔案,里面有關于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());
短信效果:

注冊成功后,來看下如何將資料寫入資料庫,
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檔案匯出,記得勾選下面紅框內容

使用檔案上傳工具,將打包好的WAR檔案,上傳至服務器Tomcat的webapps檔案夾下,
如果沒有上傳工具,點擊下載
如果還沒有配置Tomcat,點擊Tomcat配置教程
上傳檔案之后,Tomcat會自動將WAR檔案解壓,使用命令進入bin目錄,使用命令./shutdown.sh關閉tomcat服務,然后使用./start.sh開啟tomcat服務,稍等幾秒鐘,即可訪問,
點擊訪問本案例:Fdog
文章的最后再說一遍!想要原始碼的可在評論區留下郵箱,隨手給個小贊!
下一篇內容將使用Qt撰寫類似于QQ的客戶端登錄界面,先上一張圖,包括很多小技能,關注我,不迷路哦!

下期見!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/275832.html
標籤:其他
上一篇:C++實作 高精度 加減乘除
