前のセクションでは、Java Mailを使用して、バイヤーにメールを送信する機能を完了し、機能を残しました。これは、テキストメッセージを購入者に送信し、注文が生成されたことを伝えます。このセクションでは、主に支払いが完了した後にユーザーにテキストメッセージを自動的に送信する方法を紹介します。
1。SMS送信機能を適用します
テキストメッセージを自分で送信できず、テキストメッセージを作成する機能がないことは明らかです。そのため、サードパーティのオペレーターに依存する必要があります。ただし、China Mobile、China Unicom、TelecomはSMSサービスを直接提供することはありませんが、最初に一部のオペレーターにSMSサービスを提供し、次にこれらのオペレーターがそれらを提供します。
「China Net Construction SMS SMS Communication」(公式ウェブサイトアドレス)と呼ばれるオペレーターがあります。このオペレーターは、SMSサービスを提供できます。公式ウェブサイトを入力した後、充電基準を確認できます。もちろん、初めて5つの無料テキストメッセージを入手できますが、無料のテキストメッセージが安定しすぎない場合や、送信時間が比較的長い場合があります。それはキャラクターに依存しますが、有料のものは基本的に良いです。彼の利益モデルは、モバイル、中国ユニコム、または通信からテキストメッセージを低価格で取得し、ユーザーに販売することです。もちろん、割引パッケージがあります。このタイプの製品は、通常、ユーザーにテキストメッセージを送信する必要がある大企業またはサービスによって購入されます。
最初に、アカウントを登録します(実際には、プログラムをテストするために5つの無料の短いメッセージを取得します)。プロセスを明確にするために、できるだけ詳細に記述しようとします。次のインターフェイスをご覧ください。
ログインしたユーザー名とパスワードを受け取るため、名前やメールを入力して、携帯電話で自分の名前を入力するだけです。ログインした後、次のように送信できる5つの無料のテキストメッセージがあることがわかります。
フレンドリーなヒント:初日に5つの無料のテキストメッセージを使い果たさないでください。2日目に別の5つのメッセージを送信すると、送信しません〜
次に、上の写真の送信SMSをクリックすると、SMSインターフェイスがポップアップします。 SMSを送信したくありませんが、いくつかのSMSサフィックスを設定します。つまり、ユーザーがSMSを受信した後、最後にサフィックスがあり、次のようにそれがどこから来たのかを説明します。
保存後、左列の「SMS APIインターフェイス」をクリックし、テキストメッセージを送信するAPIがポップアップします(接続のアドレスもここに記載されています)。プログラムするとき、Yibaoが提供する公式インターフェイスを使用して、以前の支払い関数と同じように、彼らが提供するAPIインターフェイスを参照する必要があります。簡単に見てみましょう:
上記は、コンテンツの一部です。詳細については、上記のリンクをクリックしてください。写真のキーをクリックしてすぐに変更します。主にキーが何であるかを確認し、キーをコピーして保存します。後でプログラムを書くときに使用されます。
さて、準備が完了し、APIが利用可能になりました。これで、SMS関数の開発を開始できます。
2。サードパーティサーバーが正常かどうかをテストします
SMS関数を開発する前に、中国ネットワークによって構築されたサーバーが正常かどうかをテストしましょう。 SMS APIページで提供されるデータによると、UTF-8エンコーディングを使用してインターフェイスアドレスを送信できます。
http://utf8.sms.webchinese.cn/?uid=userこのサイトの名前&key = interface security key&msmob =携帯電話番号&smstext =検証コード:8888
UTF8.sms.Webchines.cnが正常かどうかをテストしましょう。プロジェクトでtest.jspページを書きましょう。
<%@ページ言語= "java" import = "java.util。*" pageencoding = "utf-8"%> <!doctype html public " - // w3c // dtd html 4.01 transitional // en"あなた自身 - > <a href = "http://utf8.sms.webchinese.cn/?uid=usernameこのサイト&key = interface security key&smsmob =携帯番号&smstext =検証コード:8888">テストサーバー</a> </body> html> </html> </html>
(フレンドリーなリマインダー:テスト中に複数回テストしないでください。1回で十分です。主にサーバーが正常かどうかに依存します。後でテストするために何度かテストする必要があります。パラメーターを誤って記述することもできます。ネガティブ数が正常に戻る場合、サーバーが正常であることを意味します。リンクにも含まれていますが、これは絶対に不可能です。)
3. SMS送信機能を開発します
### ** 3.1 SMSプロセステストを送信** SMS送信機能を使用して、次の3つのJARパッケージが必要です。(無料ダウンロードアドレス:http://download.csdn.net/detail/eson_15/9528009) `Commons-Logging-1.1.1.jar`次に、SMS送信機能を完了し、正確性をテストするために通常のJavaクラスを書きます。
public class sendmessagedemo {public static void main(string [] args)スロー例外{// 1。ブラウザを開きますhttpclient client = new httpclient(); // 2。リクエストの作成方法:get/post method post = new postmethod( "http://utf8.sms.webchinese.cn/"); // // 3に適用したサーバーアドレス。要求されたパラメーター情報を設定しますpost.setRequestheader( "content-type"、 "application/x-www-form-urlencoded; charset = utf-8"); // transcoding post.setparameter( "uid"、 "xxxx"); post.setParameter( "smsmob"、 "xxxx"); post.setParameter( "smstext"、 "test!"); // 4。リクエストを送信して、ステータスコードint code = client.executemethod(post)を返します。 system.out.println( "http:" + code)によって返されるステータスコード; // 200が印刷されている場合、それは正常// 5です。サーバー文字列result = post.getResponseBodyAsstring()によって返されるデータ情報を取得します。 System.out.println( "SMS送信結果は" + result); // 1を返す場合、送信が正常であることを意味します}}}次に、このJavaプログラムを実行して、テストするためにテキストメッセージを自分で送信できます。私のテスト結果は次のとおりです。### ** 3.2はmessageutilimpl **にカプセル化されます。次に、独自のプロジェクトでこの機能を使用します。上記のプロセスをmessageutilimplツールクラスにカプセル化し、次のようにインターフェイスを抽出します。
//抽出されたmessageutilインターフェイスパブリックインターフェイスmessageutil {public abstract void sendmessage(string phonenum、string id); // messageutilimpl実装@component( "messageutil")public class messageutilimpl messageutil {@override public void sendmessage(string phonenum、string id){// 1。ブラウザを開きますhttpclient client = new httpclient(); // 2。リクエストの作成方法:get/post method post = new postmethod( "http://utf8.sms.webchinese.cn/"); // 3。要求されたパラメーター情報post.setRequestheader( "content-type"、 "application/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。リクエストを送信してステータスコードを返します{int code = 0; code = client.executemethod(post); System.out.println( "HTTPによって返されるステータスコード:" +コード); // 5。サーバー文字列result = post.getResponseBodyAsstring()によって返されるデータ情報を取得します。 System.out.println( "SMS送信結果は:" + result); } catch(Exception e){e.printstacktrace();新しいruntimeexception(e); }最後に{post.releaseconnection(); }}}4。支払いを改善します
ツールクラスのカプセル化を完了します。次に、ツールクラスをBaseActionに配置し、アクションごとに使用するために@Resourceアノテーションを介して注入します。以下に、以前の支払いでバックバンク()メソッドを改善します。
@Controller( "Payaction")@scope( "Prototype")Public class Payaction拡張BaseeAction <Object> parameterAware {//無関係なコードを保存... public void backbank(){backdata backdata =(backdata)モデル; System.out.println(モデル); boolean isok = payservice.checkbackdata(backdata); if(isok){// 1。注文ステータスを更新すると、パラメーターはデータベースの状況に応じて単独で送信され、forderservice.updatestatusbyid(integer.parseint(backdata.getr6_order())、2)をテストするために使用されます。 // 2。ユーザーのメールアドレスに従って電子メールを送信しますstring emailaddress = backdata.getr8_mp()。split( "、")[0]; emailutil.sendemail(emailaddress、backdata.getr6_order()); // 3。携帯電話のテキストメッセージを送信する文字列phoneNum = backdata.getr8_mp()。split( "、")[1]; messageutil.sendmessage(PhoneNum、backdata.getr6_order()); System.out.println( "----成功!! -----"); } else {system.out.println( "---- false !!! -----"); }}} Yibaoから返された情報は、R6_ORDERパラメーターと、R8_MPパラメーターのユーザーの電子メールと電話番号に保存されます。 1つ目は電子メールで、2つ目は携帯電話番号で、コンマで区切られているため、最初にユーザーの携帯電話番号を取得してからテキストメッセージを送信する必要があります。 OK、支払いが完了した後にユーザーにテキストメッセージを送信する機能が完了します。
オリジナルリンク:http://blog.csdn.net/eson_15/article/details/51475431
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。