SSH框架网上商城项目第26战之订单支付后发送短信提醒

时间:2021-05-20

上一节我们使用了Java mail完成了给买家发送邮件的功能,还遗留一个功能,就是给买家发送短信,告诉他订单已经生成之类的。这一节主要介绍一下如何在用户支付完成后自动给用户发送短信。

1. 申请短信发送功能

很明显,我们自己不能发短信,也没有做短信的功能,所以我们需要去借助第三方的运营商。但是像中国移动,联通,电信这种不会直接给我们提供短信服务,而是先把短信服务提供给一些运营商,然后这些运营商再提供给我们。
  有一个运营商叫“中国网建sms短信通”(官网地址)。这个运营商可以给我们提供短信的服务,进入官网后可以看下收费标准,当然咯,首次注册免费送5条短信,不过免费的可能不是太稳定,或者发送的时间比较久,这得看人品,不过付费的基本上都挺好的。他的盈利模式就是用较低的价格从移动,联通或者电信那边拿到短信,然后卖给用户,当然有优惠套餐的,这种一般都是大公司或者有需要向用户发送短信的业务时会购买。
  首先我们去注册一个账号(其实是为了拿到那5条免费的短息来测试我们的程序),为了把流程说清楚,我尽量写详细一点,请看如下界面:


  

像这些姓名啊,email啊都可以随便填的,手机填自己的就行了,因为会收到登陆的用户名和密码。登陆后我们可以看到有5条免费短信可以发送,如下:


  

友情提示:5条免费短信第一天别用完,第二天又会再送5条,然后就不送了~
  然后我们点击上面图片中的发送短信,会弹出一个发送短信的界面,我们不是为了去发送短信,而是去设置一些短信的后缀,即用户收到短信后,最后面都有个后缀说明来自哪里,如下:
  


  

保存之后,我们点击左边栏目中的“短信API接口”,就会跳出关于发送短信的API(这里也给出那个连接的地址),我们编程就需要参考他们提供给我们的API接口,就跟前面做支付功能一样的,使用易宝给我们提供的官方接口。我们简单看一下:

  上面只是部分内容,详情可以点击上面给的链接。我们点击图片中密钥的立即修改,主要是看一下密钥是啥,然后将密钥复制下来,保存一下,后面写程序的时候要用到。
  好了,现在准备工作都做好了,API也有了,现在我们可以着手开发短信功能了。

2. 测试一下第三方服务器正常与否

  在开发短信功能之前,我们先来测试一下这个中国网建的服务器是否正常,根据短信API页面提供的数据,我们可以使用UTF-8编码发送接口的地址:

http://utf8.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全秘钥&smsMob=手机号码&smsText=验证码:8888
来测试一下utf8.sms.webchines.cn是否正常。下面在工程中写一个test.jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <%@ include file="/public/head.jspf" %> </head> <body> <!-- 参数自己要填好 --> <a href="http://utf8.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全秘钥&smsMob=手机号码&smsText=验证码:8888"> 测试服务器 </a> </body></html>

(友情提示:在测试的时候不要多次测试,一次就够了,主要看服务器是否正常,还得留几次后面测试用。也可以将某个参数写错,如果返回一个负数,说明服务器是正常的,可以根据API页面提供的参数看相应的负数代表哪里出错了。这只是用来测试的,实际中并不能这么去发,因为链接中还有我的用户名和密码,肯定不行。)

3. 开发短信发送功能

  ###**3.1 发送短信流程测试**   使用短信发送功能,需要以下三个jar包:(免费下载地址:http://download.csdn.net/detail/eson_15/9528009) - `commons-codec-1.4.jar` - `commons-httpclient-3.1.jar` - `commons-logging-1.1.1.jar` 下面我们先写一个普通的java类来完成短信发送功能,并测试正确性:

public class SendMessageDemo { public static void main(String[] args) throws Exception { //1. 打开浏览器 HttpClient client = new HttpClient(); //2. 创建请求的方式:get/post PostMethod post = new PostMethod("http://utf8.sms.webchinese.cn/");//刚刚我们申请的那个服务器地址 //3. 设置请求的参数信息 post.setRequestHeader("Content-Type", "application/x-ponent("messageUtil")public class MessageUtilImpl implements MessageUtil { @Override public void sendMessage(String phoneNum, String id) { //1. 打开浏览器 HttpClient client = new HttpClient(); //2. 创建请求的方式:get/post PostMethod post = new PostMethod("http://utf8.sms.webchinese.cn/"); //3. 设置请求的参数信息 post.setRequestHeader("Content-Type", "application/x-/eson_15/article/details/51475431  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。  

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章