En la sección anterior, utilizamos Java Mail para completar la función de enviar correos electrónicos a los compradores, y dejamos una función, que es enviar mensajes de texto a los compradores y decirles que el pedido se ha generado. Esta sección presenta principalmente cómo enviar automáticamente mensajes de texto a los usuarios después de que se complete el pago.
1. Solicite la función de envío de SMS
Es obvio que no podemos enviar mensajes de texto nosotros mismos, ni tenemos la función de hacer mensajes de texto, por lo que debemos confiar en operadores de terceros. Sin embargo, como China Mobile, China Unicom y Telecom no nos proporcionarán directamente los servicios de SMS, sino que primero proporcionarán servicios de SMS a algunos operadores, y luego estos operadores nos proporcionarán.
Hay un operador llamado "Comunicación SMS de SMS de la construcción neta de China" (dirección oficial del sitio web). Este operador puede proporcionarnos servicios de SMS. Después de ingresar al sitio web oficial, puede consultar los estándares de carga. Por supuesto, puede recibir 5 mensajes de texto gratuitos por primera vez, pero los gratuitos pueden no ser demasiado estables o el tiempo de envío es relativamente largo. Depende del personaje, pero los pagados son básicamente buenos. Su modelo de ganancias es recibir mensajes de texto de Mobile, China Unicom o Telecom a un precio más bajo y venderlos a los usuarios. Por supuesto, hay paquetes de descuento. Este tipo de producto generalmente es comprado por grandes empresas o servicios que necesitan enviar mensajes de texto a los usuarios.
Primero, registramos una cuenta (en realidad para obtener los 5 mensajes cortos gratuitos para probar nuestro programa). Para aclarar el proceso, trato de escribirlo lo más detallado posible. Consulte la siguiente interfaz:
Puede completar cualquier nombre y correo electrónico, simplemente complete sus propios nombres en su teléfono, ya que recibirá el nombre de usuario y la contraseña iniciados. Después de iniciar sesión, podemos ver que hay 5 mensajes de texto gratuitos que se pueden enviar, como sigue:
Consejos amistosos: no use 5 mensajes de texto gratuitos el primer día, y enviará otros 5 mensajes el segundo día, y luego no los enviará ~
Luego hacemos clic en el SMS de envío en la imagen de arriba, y aparecerá una interfaz SMS. No queremos enviar SMS, pero establecer algunos sufijos de SMS. Es decir, después de que el usuario recibe el SMS, hay un sufijo al final para explicar de dónde proviene, de la siguiente manera:
Después de guardar, hacemos clic en la "interfaz API SMS" en la columna izquierda, y la API para enviar mensajes de texto aparecerá (la dirección de la conexión también se da aquí). Cuando programamos, debemos consultar la interfaz API que nos proporcionan, al igual que la función de pago antes, utilizando la interfaz oficial proporcionada por Yibao. Echemos un breve miro:
Lo anterior es solo algunos de los contenidos. Para más detalles, haga clic en el enlace dado anteriormente. Hacemos clic en la tecla de la imagen para modificarla de inmediato, principalmente para ver cuál es la clave, luego copiar la tecla y guardarla. Se usará al escribir el programa más tarde.
De acuerdo, ahora los preparativos están hechos y la API está disponible. Ahora podemos comenzar a desarrollar la función SMS.
2. Pruebe si el servidor de terceros es normal o no
Antes de desarrollar la función SMS, probemos si el servidor creado por China Network es normal. De acuerdo con los datos proporcionados por la página API SMS, podemos usar la codificación UTF-8 para enviar la dirección de la interfaz:
http://utf8.sms.webchinese.cn/?uid=user Nombre de este sitio y clave = interfaz clave de seguridad clave & smsmob = número de teléfono móvil y smstext = código de verificación: 8888
Probemos si utf8.sms.webchines.cn es normal. Vamos a escribir una página Test.jsp en el proyecto:
<%@ page lenguaje = "java" import = "java.util.*" pageEncoding = "utf-8"%> <! DocType html public "-// w3c // dtd html 4.01 transitional // en"> <html> <fead> <%@ include file = "/public/head.jspf"%> </head> <sod> <s browy> usted mismo-> <a href = "http://utf8.sms.webchinesese.cn/?uid=username of this Site & Key = Interface Security Key & smSmob = Mobile Number & Smstext = Código de verificación: 8888"> Servidor de prueba </a> </body> </html>
(Recordatorio amigable: no pruebe varias veces durante las pruebas. Una vez es suficiente. Depende principalmente de si el servidor es normal. Debe dejarlo para pruebas posteriores varias veces. También puede escribir un parámetro incorrectamente. Si un número negativo se devuelve, es que el servidor es normal. Puede ver qué número negativo representa el error basado en los parámetros proporcionados por la página API. Esto solo se usa para las pruebas. De hecho, no puede ser publicado, ya que también se incluye esto, ya que también se incluye, ya que también se incluye, ya que se incluye, ya que se incluye, ya que no se puede publicar, me incluye la contrase. En el enlace, que definitivamente no es posible.)
3. Desarrollar la función de envío de SMS
### ** 3.1 Enviar prueba de proceso de SMS ** Usando la función de envío de SMS, se requieren los siguientes tres paquetes JAR: (Dirección de descarga gratuita: http://download.csdn.net/detail/eson_15/9528009)-`Commons-Codec-1.4.Jar`-` Commons-HttpcLient-3.1.Jar`--------------- `Commons-logging-1.1.1.Jar` A continuación, escribiremos una clase Java normal para completar la función de envío de SMS y probar la corrección:
La clase pública sendMessageDemo {public static void main (String [] args) lanza la excepción {// 1. Abra el navegador HttpClient Client = new httpClient (); // 2. Cómo crear una solicitud: Get/Post PostMethod Post = new Postmethod ("http://utf8.sms.webchinesese.cn/"); // La dirección del servidor que acabamos de solicitar // 3. Establezca la información del parámetro solicitado post.setRequestHeader ("Content-type", "Application/X-WWW-Form-URLEncoded; Charset = UTF-8"); // Establecer transcoding post.setParameter ("uid", "xxxx"); // Los parámetros son los mismos que se indican. post.setParameter ("smsmob", "xxxx"); post.setParameter ("smstext", "test!"); // 4. Envíe la solicitud y devuelva el código de estado int código = client.executemethod (post); System.out.println ("Código de estado devuelto por http:" + código); // Si se imprime 200, significa que es normal // 5. Obtenga la información de datos devuelta por la cadena del servidor resultado = post.getResponseBodyAsstring (); System.out.println ("El resultado de envío de SMS es:" + resultado); // Si devuelve 1, significa que el envío es normal}} A continuación, puede ejecutar este programa Java y enviarlo a usted mismo un mensaje de texto para probarlo. Los resultados de mis pruebas son los siguientes :! [Resultados de la prueba] (http://img.blog.csdn.net/20160523122802066) ### ** 3.2 Encapsula MessageUtilImpl ** A continuación, usaremos esta función en nuestro propio proyecto. Encapsulamos el proceso anterior en la clase de herramienta MessageUtilImpl y extraemos la interfaz, de la siguiente manera:
// La interfaz de MessageUtil extraída interfaz pública MessageUtil {public abstract void sendMessage (String PhoneNum, String ID); // Clase de implementación de MessageUtilImpl @Component ("MessageUtil") Clase pública MessageUtilImpl implementa MessageUtil {@Override public void sendMessage (string phonenum, string id) {// 1. Abra el navegador HttpClient Client = new httpClient (); // 2. Cómo crear una solicitud: Get/Post PostMethod Post = new Postmethod ("http://utf8.sms.webchinesese.cn/"); // 3. Establecer información de parámetros solicitada post.setRequestHeader ("Content-type", "Application/X-WWW-Form-URLENCODED; Charset = UTF-8"); post.setParameter ("uid", "eson_15"); post.setParameter ("clave", "0537729D0B59A7E7358B"); post.setParameter ("smsmob", "15216771570"); post.setParameter ("smstext", "test!"); // 4. Envíe la solicitud y devuelva el código de estado Try {int código = 0; código = client.executemethod (post); System.out.println ("El código de estado devuelto por http:" + código); // 5. Obtenga la información de datos devuelta por la cadena del servidor resultado = post.getResponseBodyAsstring (); System.out.println ("El resultado de envío de SMS es:" + resultado); } catch (Exception e) {E.PrintStackTrace (); tirar nueva runtimeException (e); } Finalmente {post.ReleaseConnection (); }}}4. Mejorar
Complete la encapsulación de la clase de herramientas. A continuación, colocamos la clase de herramientas en Baseaction y la inyectamos a través de la anotación @Resource para su uso por acción. A continuación mejoraremos el método de backbank () en la acción de pago anterior, de la siguiente manera:
@Controller ("PayAction")@Scope ("Prototype") Public Class PayAction extiende Baseaction <ject> Implementa ParameteraSWare {// Guardar código irrelevante ... public void backbank () {backdata backdata = (backdata) modelo; System.out.println (modelo); boolean isok = payservice.checkbackData (backdata); if (isok) {// 1. Actualizar el estado del pedido, los parámetros se transmiten por sí solo de acuerdo con la situación en la base de datos, y se utilizan para probar Forderservice.updatestatusbyid (Integer.ParseInt (backdata.getr6_order ()), 2); // 2. Envíe el correo electrónico de acuerdo con la dirección de correo electrónico del usuario String CageAddress = BackData.getR8_MP (). Split (",") [0]; correo electrónico. // 3. Enviar mensaje de texto de teléfono móvil cadena Phonenum = BackData.getR8_MP (). Split (",") [1]; MessageUtil.SendMessage (Phonenum, BackData.getR6_order ()); System.out.println ("---- ¿éxito! -----"); } else {System.out.println ("---- falso !!! -----"); }}} La información devuelta de Yibao se guarda en el parámetro R6_ORDER, y el correo electrónico y el número de teléfono del usuario en el parámetro R8_MP. El primero es el correo electrónico y el segundo es el número de teléfono móvil, separado por comas, por lo que primero debemos obtener el número de teléfono móvil del usuario y luego enviar un mensaje de texto. Ok, se completa la función de enviar mensajes de texto al usuario después de completar el pago.
Enlace original: http://blog.csdn.net/eson_15/article/details/51475431
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.