Im vorherigen Abschnitt haben wir Java -Mails verwendet, um die Funktion des Sendens von E -Mails an Käufer zu vervollständigen, und eine Funktion gelassen, in der Textnachrichten an Käufer gesendet werden und ihnen mitgeteilt werden, dass die Bestellung generiert wurde. In diesem Abschnitt wird hauptsächlich eingeführt, wie nach Abschluss der Zahlung automatisch Textnachrichten an Benutzer gesendet werden.
1. Beantragen Sie eine SMS -Sendungsfunktion
Es ist offensichtlich, dass wir keine Textnachrichten selbst senden, noch haben wir die Funktion, Textnachrichten zu erstellen, daher müssen wir uns auf Operatoren von Drittanbietern verlassen. Wie China Mobile, China Unicom und Telecom werden uns jedoch nicht direkt SMS -Dienste zur Verfügung stellen, sondern zuerst SMS -Dienste für einige Betreiber anbieten, und dann werden diese Betreiber sie anbieten.
Es gibt einen Betreiber namens "China Net Construction SMS SMS Communication" (offizielle Website -Adresse). Dieser Betreiber kann uns SMS -Dienste zur Verfügung stellen. Nach dem Eintritt in die offizielle Website können Sie die Ladestandards überprüfen. Natürlich können Sie zum ersten Mal 5 kostenlose Textnachrichten erhalten, aber die freien sind möglicherweise nicht zu stabil, oder die Sendungszeit ist relativ lang. Es hängt vom Charakter ab, aber die bezahlten sind im Grunde genommen gut. Sein Gewinnmodell ist es, Textnachrichten von Mobile, China Unicom oder Telecom zu einem günstigeren Preis zu erhalten und an Benutzer zu verkaufen. Natürlich gibt es Rabattpakete. Diese Art von Produkt wird im Allgemeinen von großen Unternehmen oder Dienstleistungen gekauft, die Textnachrichten an Benutzer senden müssen.
Zunächst registrieren wir ein Konto (tatsächlich, um die 5 kostenlosen Kurznachrichten zum Testen unseres Programms zu erhalten). Um den Prozess zu klären, versuche ich, ihn so detailliert wie möglich zu schreiben. Bitte beachten Sie die folgende Schnittstelle:
Sie können alle Namen und E-Mails ausfüllen und einfach Ihre eigenen Namen auf Ihrem Telefon ausfüllen, da Sie den angemeldeten Benutzernamen und das angemeldete Kennwort erhalten. Nach dem Anmelden können wir sehen, dass 5 kostenlose Textnachrichten wie folgt gesendet werden können:
Freundliche Tipps: Verbringen Sie am ersten Tag keine 5 kostenlosen Textnachrichten, und Sie senden am zweiten Tag weitere 5 Nachrichten, und dann senden Sie sie nicht ~ ~
Anschließend klicken wir im Bild oben auf die SMS -SMS, und eine SMS -Schnittstelle wird angezeigt. Wir wollen keine SMS senden, sondern einige SMS -Suffixe festlegen. Das heißt, nachdem der Benutzer die SMS erhalten hat, gibt es am Ende ein Suffix, um zu erklären, woher er kommt, wie folgt:
Nach dem Speichern klicken wir in der linken Spalte auf die "SMS -API -Schnittstelle", und die API zum Senden von Textnachrichten wird angezeigt (hier wird auch die Adresse der Verbindung angegeben). Wenn wir programmieren, müssen wir uns auf die API -Schnittstelle beziehen, die sie uns anbieten, genau wie die Zahlungsfunktion zuvor mit der von Yibao bereitgestellten offiziellen Schnittstelle. Lassen Sie uns einen kurzen Blick darauf werfen:
Das obige ist nur ein Teil des Inhalts. Für Details klicken Sie bitte auf den oben angegebenen Link. Wir klicken auf die Taste im Bild, um es sofort zu ändern, hauptsächlich, um zu sehen, was der Schlüssel ist, und kopieren Sie dann den Schlüssel und speichern Sie es. Es wird beim späteren Schreiben des Programms verwendet.
Okay, jetzt sind die Vorbereitungen durchgeführt und die API ist verfügbar. Jetzt können wir mit der Entwicklung der SMS -Funktion beginnen.
2. Testen Sie, ob der Server von Drittanbietern normal ist oder nicht
Lassen Sie uns vor der Entwicklung der SMS -Funktion testen, ob der von China Network erstellte Server normal ist. Nach den von der SMS-API-Seite bereitgestellten Daten können wir die UTF-8-Codierung verwenden, um die Schnittstellenadresse zu senden:
http://utf8.sms.webchinese.cn/?uid=user Name dieser Site & Key = STECKSEL -Sicherheitsschlüssel & SMSMOB = Mobiltelefonnummer & SMSTEXT = Überprüfungscode: 8888
Lassen Sie uns testen, ob utf8.sms.webchines.cn normal ist. Schreiben wir im Projekt eine Seite test.jsp:
<%@ page Language = "java" import = "java.util. selbst-> <a href = "http://utf8.sms.webchinese.cn/?uid=username dieser Site & Key = Interface Security-Key & SMSMOB = Handynummer & SMSTEXT = Überprüfungscode: 8888"> Testserver </a> </body> </html>>
, im Link enthalten, was definitiv nicht möglich ist.)
3. entwickeln SMS -Sendenfunktion
### ** 3.1 SMS-Prozesstest ** Mit der SMS-Sendungsfunktion sind die folgenden drei JAR-Pakete erforderlich: (kostenlose Download-Adresse: http://download.csdn.net/detail/eson_15/9528009)-`commons-codec-1.jar`-` commons-httpclient- `Commons-Logging-1.1.1.jar` Als nächstes schreiben wir eine normale Java-Klasse, um die SMS-Sendungsfunktion auszufüllen und die Richtigkeit zu testen:
öffentliche Klasse SendMessagedemo {public static void main (String [] args) löst Ausnahme aus {// 1. Öffnen Sie den Browser httpclient client = new httpclient (); // 2. So erstellen Sie eine Anfrage: Get/post postmethod post = new postmethod ("http://utf8.sms.webchinese.cn/"); // Die Serveradresse, für die wir gerade angewendet wurden, für // 3. Legen Sie die angeforderten Parameterinformationen nach. post.setParameter ("smsmob", "xxxx"); post.setParameter ("smStext", "test!"); // 4. Senden Sie die Anfrage und senden Sie den Statuscode int Code = client.executemethod (post) zurück. System.out.println ("Statuscode von http zurückgegeben:" + code); // Wenn 200 gedruckt werden, bedeutet dies, dass es normal ist // 5. Holen Sie sich die vom Server String -Ergebnis = post.getResponseBodyAssstring () zurückgegebenen Dateninformationen; System.out.println ("SMS -Sendenergebnisse lautet:" + Ergebnis); // Wenn Sie 1 zurückgeben, bedeutet dies, dass das Senden normal ist}} Als nächstes können Sie dieses Java -Programm ausführen und an sich selbst eine Textnachricht senden, um es zu testen. Meine Testergebnisse lauten wie folgt :! [Testergebnisse] (http://img.blog.csdn.net/20160523122802066) ### ** 3.2 In Messageutilimpl ** Als nächstes verwenden wir diese Funktion in unserem eigenen Projekt. Wir umfassen den obigen Vorgang in die MessageUtilimpl -Werkzeugklasse und extrahieren die Schnittstelle wie folgt:
// Die extrahierte MessageUtil -Schnittstelle öffentliche Schnittstelle Messageutil {public abstract void sendMessage (String phoneNum, String -ID); // MessageUtilimpl Implementierungsklasse @Component ("MessageUtil") public classutilimpl implements implements messageUtil {@override public void SendMessage (String PhoneNeum, String -ID) {// 1 // 1 // // Öffnen Sie den Browser httpclient client = new httpclient (); // 2. So erstellen Sie eine Anfrage: Get/post postmethod post = new postmethod ("http://utf8.sms.webchinese.cn/"); // 3. Setzen Sie angeforderte Parameterinformationen post.setRequestHeader ("Content-Typ", "Anwendung/x-www-form-urlencoded; charSet = utf-8"); post.setParameter ("uid", "eson_15"); Post.SetParameter ("Key", "0537729D0B59A7E7358B"); post.setParameter ("smsmob", "15216771570"); post.setParameter ("smStext", "test!"); // 4. Senden Sie die Anfrage und senden Sie den Statuscode -Versuch {int Code = 0 zurück; code = client.executemethod (post); System.out.println ("Der von HTTP zurückgegebene Statuscode:" + Code); // 5. Holen Sie sich die vom Server String -Ergebnis = post.getResponseBodyAssstring () zurückgegebenen Dateninformationen; System.out.println ("SMS -Sendenergebnisse lautet:" + Ergebnis); } catch (Ausnahme e) {e.printstacktrace (); neue runimeexception (e) werfen; } endlich {post.releaseconnection (); }}}4. Verbesserung der Zahlung
Vervollständigen Sie die Einkapselung der Werkzeugklasse. Als nächstes setzen wir die Werkzeugklasse in die Basisreaktion ein und injizieren sie die @Resource -Annotation zur Verwendung durch Aktion. Im Folgenden werden wir die Backbank () -Methode in der vorherigen Zahlung wie folgt verbessern:
@Controller ("PayAction")@scope ("Prototyp") öffentliche Klassenzahlung erweitert Baseaction <FORGANGE <Objekt> implementiert Parameteraware {// irrelevantes Code speichern ... public void backbank () {backdata backdata = (backdata) Modell; System.out.println (Modell); boolean isok = payService.CheckbackData (Backdata); if (isok) {// 1. Aktualisieren Sie den Bestellstatus, die Parameter werden für sich selbst gemäß der Situation in der Datenbank übertragen und werden verwendet, um FerderService.UpDatESTATUSBYID (Integer.ParseInt (BackData.getR6_order ()), 2) zu testen. // 2. Senden Sie E -Mails gemäß dem Benutzer E -Mail -Adresse String E -MailAddress = backdata.getr8_mp (). Split (",") [0]; EMAILUTIL.SENDEMAIL (EMAILADDRESS, BACKSDATA.getR6_Order ()); // 3. Senden Sie die SMS -SMS -Meldung von Mobiltelefonen. MessageUtil.SendMessage (Phonenum, backdata.getR6_order ()); System.out.println ("---- Erfolg !! -----"); } else {System.out.println ("---- false !!! -----"); }}} Die von Yibao zurückgegebenen Informationen werden im Parameter r6_order und in der E -Mail und der Telefonnummer des Benutzers im Parameter r8_mp gespeichert. Die erste ist die E -Mail und die zweite ist die von Commas getrennte Handynummer. Daher müssen wir zunächst die Handynummer des Benutzers erhalten und dann eine Textnachricht senden. OK, die Funktion des Sendens von Textnachrichten an den Benutzer nach Abschluss der Zahlung ist abgeschlossen.
Original -Link: http://blog.csdn.net/eson_15/article/details/51475431
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.