Pada bagian sebelumnya, kami menggunakan Java Mail untuk menyelesaikan fungsi mengirim email ke pembeli, dan meninggalkan fungsi, yaitu mengirim pesan teks ke pembeli dan memberi tahu mereka bahwa pesanan telah dihasilkan. Bagian ini terutama memperkenalkan cara mengirim pesan teks secara otomatis ke pengguna setelah pembayaran selesai.
1. Ajukan Fungsi Kirim SMS
Jelas bahwa kita tidak dapat mengirim pesan teks sendiri, juga tidak memiliki fungsi membuat pesan teks, jadi kita perlu mengandalkan operator pihak ketiga. Namun, seperti China Mobile, China Unicom, dan Telecom tidak akan secara langsung memberi kami layanan SMS, tetapi pertama -tama akan menyediakan layanan SMS kepada beberapa operator, dan kemudian operator ini akan memberi kami mereka.
Ada operator yang disebut "China Net Construction SMS Communication" (alamat situs web resmi). Operator ini dapat memberi kami layanan SMS. Setelah memasuki situs web resmi, Anda dapat memeriksa standar pengisian daya. Tentu saja, Anda bisa mendapatkan 5 pesan teks gratis untuk pertama kalinya, tetapi yang gratis mungkin tidak terlalu stabil, atau waktu pengiriman relatif lama. Itu tergantung pada karakternya, tetapi yang dibayar pada dasarnya bagus. Model labanya adalah mendapatkan pesan teks dari Mobile, China Unicom atau Telecom dengan harga lebih murah dan menjualnya kepada pengguna. Tentu saja, ada paket diskon. Jenis produk ini umumnya dibeli oleh perusahaan besar atau layanan yang perlu mengirim pesan teks kepada pengguna.
Pertama, kami mendaftarkan akun (sebenarnya untuk mendapatkan 5 pesan pendek gratis untuk menguji program kami). Untuk mengklarifikasi prosesnya, saya mencoba menulisnya sedetail mungkin. Silakan lihat antarmuka berikut:
Anda dapat mengisi nama dan email apa pun, cukup isi nama Anda sendiri di ponsel Anda, karena Anda akan menerima nama pengguna dan kata sandi yang masuk. Setelah masuk, kita dapat melihat bahwa ada 5 pesan teks gratis yang dapat dikirim, sebagai berikut:
Tips Ramah: Jangan gunakan 5 pesan teks gratis pada hari pertama, dan Anda akan mengirim 5 pesan lagi pada hari kedua, dan kemudian Anda tidak akan mengirimkannya ~
Kemudian kami mengklik SMS Send di gambar di atas, dan antarmuka SMS akan muncul. Kami tidak ingin mengirim SMS, tetapi mengatur beberapa sufiks SMS. Yaitu, setelah pengguna menerima SMS, ada akhiran di akhir untuk menjelaskan dari mana asalnya, sebagai berikut:
Setelah menabung, kami mengklik "antarmuka API SMS" di kolom kiri, dan API untuk mengirim pesan teks akan muncul (alamat koneksi juga diberikan di sini). Ketika kami memprogram, kami perlu merujuk ke antarmuka API yang mereka berikan kepada kami, seperti fungsi pembayaran sebelumnya, menggunakan antarmuka resmi yang disediakan oleh Yibao. Mari kita lihat sebentar:
Di atas hanyalah beberapa konten. Untuk detailnya, silakan klik tautan yang diberikan di atas. Kami mengklik tombol pada gambar untuk memodifikasinya segera, terutama untuk melihat apa kunci itu, lalu salin kunci dan simpan. Ini akan digunakan saat menulis program nanti.
Oke, sekarang persiapan selesai dan API tersedia. Sekarang kita dapat mulai mengembangkan fungsi SMS.
2. Uji apakah server pihak ketiga normal atau tidak
Sebelum mengembangkan fungsi SMS, mari kita uji apakah server yang dibangun oleh China Network normal. Menurut data yang disediakan oleh halaman API SMS, kami dapat menggunakan pengkodean UTF-8 untuk mengirim alamat antarmuka:
http://utf8.sms.webchinese.cn/?uid=user Nama Situs ini & Key = Kunci Keamanan Antarmuka & SMSMOB = Nomor Ponsel & SMSTEXT = Kode Verifikasi: 8888
Mari kita uji apakah utf8.sms.webchines.cn normal. Mari kita tulis halaman test.jsp di proyek:
<%@ page language = "java" import = "java.util.*" pageEncoding = "utf-8"%> <! Doctype html public "-// w3c // dtd html 4.01 transisi // en"> <html> <head> <%@ termasuk file = "/head.jspf. <a href = "http://utf8.sms.webchinese.cn/?uid=username dari situs ini & kunci = Kunci keamanan antarmuka & smsmob = nomor ponsel & smstext = kode verifikasi: 8888"> Test Server </a> </body> </html>
; juga termasuk dalam tautan, yang jelas tidak mungkin.)
3. Kembangkan fungsi Kirim SMS
### ** 3.1 Kirim Uji Proses SMS ** Menggunakan fungsi Pengiriman SMS, tiga paket JAR berikut diperlukan: (Alamat unduhan gratis: http://download.csdn.net/detail/eson_15/9528009)-`commons-codec-1.4.jar`-` `commons-httttttttttttttttttttttttttttttttttttt. `Commons-logging -.1.1.jar` Next, kami akan menulis kelas Java normal untuk menyelesaikan fungsi pengiriman SMS dan menguji kebenarannya:
Public Class SendMessagedemo {public static void main (string [] args) melempar Exception {// 1. Buka browser httpclient client = httpclient baru (); // 2. Cara membuat permintaan: dapatkan/posting postmethod post = postmethod baru ("http://utf8.sms.webchinese.cn/"); // Alamat server yang baru saja kami terapkan untuk // 3. Atur posting informasi parameter yang diminta.setRequestHeader ("tipe konten", "Aplikasi/X-WWW-Form-Urlencoded; charset = UTF-8"); // Set transcoding post.setParameter ("uid", "xxxx"); // parameternya sama dengan post.setparameter di atas (" post.setParameter ("smsmob", "xxxx"); Post.setParameter ("smstext", "test!"); // 4. Kirimkan permintaan dan kembalikan kode status kode int = client.executeMethod (post); System.out.println ("Kode status dikembalikan oleh http:" + kode); // Jika 200 dicetak, itu berarti itu normal // 5. Dapatkan informasi data yang dikembalikan oleh string server result = post.getResponseBodyAsstring (); System.out.println ("Hasil Pengiriman SMS adalah:" + Hasil); // Jika Anda mengembalikan 1, itu berarti bahwa pengirimannya normal}} Selanjutnya, Anda dapat menjalankan program Java ini dan mengirimkannya kepada diri Anda sendiri pesan teks untuk mengujinya. Hasil tes saya adalah sebagai berikut :! [Hasil tes] (http://img.blog.csdn.net/20160523122802066) ### ** 3.2 Encapsulate menjadi MessageutilImpl ** Selanjutnya kita akan menggunakan fungsi ini dalam proyek kami sendiri. Kami merangkum proses di atas ke dalam kelas alat MessageutilImpl dan mengekstrak antarmuka, sebagai berikut:
//The extracted MessageUtil interface public interface MessageUtil { public abstract void sendMessage(String phoneNum, String id);//MessageUtilImpl implementation class @Component("messageUtil")public class MessageUtilImpl implements MessageUtil { @Override public void sendMessage(String phoneNum, String id) { //1. Buka browser httpclient client = httpclient baru (); // 2. Cara membuat permintaan: dapatkan/posting postmethod post = postmethod baru ("http://utf8.sms.webchinese.cn/"); // 3. Setel Posting Informasi Parameter yang diminta .SetRequestHeader ("tipe konten", "Aplikasi/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. Kirimkan permintaan dan kembalikan kode status coba {int code = 0; kode = client.executeMethod (post); System.out.println ("Kode status yang dikembalikan oleh http:" + kode); // 5. Dapatkan informasi data yang dikembalikan oleh string server result = post.getResponseBodyAsstring (); System.out.println ("Hasil Pengiriman SMS adalah:" + Hasil); } catch (Exception e) {E.PrintStackTrace (); Lempar RuntimeException baru (E); } akhirnya {post.releaseConnection (); }}}4. Tingkatkan Payaction
Lengkapi enkapsulasi kelas alat. Selanjutnya, kami memasukkan kelas alat ke dalam basa dan menyuntikkannya melalui anotasi @Resource untuk digunakan dengan tindakan. Di bawah ini kami akan meningkatkan metode backbank () dalam pembayaran sebelumnya, sebagai berikut:
@Controller ("PayAction")@scope ("prototipe") Payaction kelas publik memperluas basa <POMPERTIFT> mengimplementasikan ParameterAware {// Simpan kode yang tidak relevan ... Model public void () {backdata backData = (backData) model; System.out.println (model); boolean isok = payservice.checkbackData (backdata); if (isok) {// 1. Perbarui status pesanan, parameter ditransmisikan dengan sendirinya sesuai dengan situasi dalam database, dan digunakan untuk menguji forderservice.updaSeStatusById (integer.parseint (backdata.getr6_order ()), 2); // 2. Kirim Email Menurut Alamat Email Pengguna String EmailAddress = backdata.getr8_mp (). Split (",") [0]; emailutil.sendemail (emailAddress, backdata.getr6_order ()); // 3. Kirim Pesan Teks Ponsel String Phonenum = backData.getr8_mp (). Split (",") [1]; messageutil.sendMessage (phonenum, backdata.getr6_order ()); System.out.println ("---- sukses !! -----"); } else {system.out.println ("---- false !!! -----"); }}} Informasi yang dikembalikan dari Yibao disimpan dalam parameter R6_order, dan email dan nomor telepon pengguna di parameter R8_MP. Yang pertama adalah email dan yang kedua adalah nomor ponsel, dipisahkan oleh koma, jadi pertama -tama kami harus mendapatkan nomor ponsel pengguna dan kemudian mengirim pesan teks. OK, fungsi mengirim pesan teks ke pengguna setelah pembayaran selesai selesai.
Tautan asli: http://blog.csdn.net/eson_15/article/details/51475431
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.