이전 섹션에서는 Java Mail을 사용하여 구매자에게 이메일을 보내는 기능을 완료하고 기능을 남겼습니다.이 기능은 구매자에게 문자 메시지를 보내고 주문이 생성되었다고 말하는 것입니다. 이 섹션에서는 주로 결제가 완료된 후 사용자에게 자동으로 문자 메시지를 보내는 방법을 소개합니다.
1. SMS 보내기 기능을 신청하십시오
우리는 문자 메시지를 스스로 보낼 수 없으며 문자 메시지를 만드는 기능도 없으므로 타사 운영자에게 의존해야합니다. 그러나 China Mobile, China Unicom 및 Telecom과 마찬가지로 SMS 서비스를 직접 제공하지는 않지만 먼저 일부 운영자에게 SMS 서비스를 제공 한 다음 이러한 운영자가 우리에게 제공 할 것입니다.
"China Net Construction SMS SMS Communication"(공식 웹 사이트 주소)이라는 운영자가 있습니다. 이 운영자는 우리에게 SMS 서비스를 제공 할 수 있습니다. 공식 웹 사이트에 들어간 후 충전 표준을 확인할 수 있습니다. 물론, 처음으로 5 개의 무료 문자 메시지를받을 수 있지만 무료 문자 메시지는 너무 안정적이지 않거나 보내는 시간이 비교적 길다. 그것은 캐릭터에 따라 다르지만 유료는 기본적으로 좋습니다. 그의 이익 모델은 Mobile, China Unicom 또는 Telecom에서 저렴한 가격으로 문자 메시지를 받고 사용자에게 판매하는 것입니다. 물론 할인 패키지가 있습니다. 이 유형의 제품은 일반적으로 문자 메시지를 사용자에게 보내는 데 필요한 대기업이나 서비스에서 구매합니다.
먼저, 우리는 계정을 등록합니다 (실제로 프로그램을 테스트하기 위해 5 개의 무료 짧은 메시지를 받기 위해). 프로세스를 명확히하기 위해 가능한 한 상세하게 작성하려고합니다. 다음 인터페이스를 참조하십시오.
로그인 한 사용자 이름과 비밀번호를 받기 때문에 이름과 이메일을 작성하고 휴대 전화에서 자신의 이름을 채울 수 있습니다. 로그인 한 후 다음과 같이 보낼 수있는 5 개의 무료 문자 메시지가 있음을 알 수 있습니다.
친절한 팁 : 첫날에 5 개의 무료 문자 메시지를 사용하지 말고 둘째 날에 또 다른 5 개의 메시지를 보내면 보내지 않습니다.
그런 다음 위의 그림에서 보내기 SMS를 클릭하면 SMS 인터페이스가 나타납니다. 우리는 SMS를 보내고 싶지 않지만 일부 SMS 접미사를 설정합니다. 즉, 사용자가 SMS를 수신 한 후에는 다음과 같이 SMS가 어디에서 왔는지 설명 할 수있는 접미사가 있습니다.
저장 후 왼쪽 열의 "SMS API 인터페이스"를 클릭하면 문자 메시지를 보내기위한 API가 나타납니다 (연결 주소도 여기에 제공됨). 우리가 프로그램 할 때, 우리는 Yibao가 제공 한 공식 인터페이스를 사용하여 이전 지불 기능과 마찬가지로 그들이 제공하는 API 인터페이스를 참조해야합니다. 간단히 살펴 보겠습니다.
위의 내용은 일부 내용입니다. 자세한 내용은 위의 링크를 클릭하십시오. 그림의 키를 클릭하여 즉시 키가 무엇인지 확인한 다음 키를 복사하여 저장하십시오. 나중에 프로그램을 작성할 때 사용됩니다.
자, 이제 준비가 완료되고 API를 사용할 수 있습니다. 이제 SMS 기능 개발을 시작할 수 있습니다.
2. 타사 서버가 정상인지 아닌지 테스트
SMS 기능을 개발하기 전에 China Network에서 구축 한 서버가 정상인지 여부를 테스트 해 봅시다. SMS API 페이지에서 제공 한 데이터에 따르면 UTF-8 인코딩을 사용하여 인터페이스 주소를 전송할 수 있습니다.
http://utf8.sms.webchinese.cn/?uid=user이 사이트의 이름 및 키 = 인터페이스 보안 키 및 smsmob = 휴대 전화 번호 및 smstext = 확인 코드 : 8888
UTF8.sms.webchines.cn이 정상인지 여부를 테스트 해 봅시다. 프로젝트에서 test.jsp 페이지를 작성해 봅시다.
<%@ page language = "java"import = "java.util.*"pageEncoding = "utf-8"%> <! doctype html public "-// w3c // dtml 4.01 전환 // en"> <html> <head> <%@ public/head.jspf "</head> <! <! 자신-> <a href = "http://utf8.sms.webchinese.cn/?uid=username이 사이트의 및 key = 인터페이스 보안 키 & smsmob = 모바일 번호 및 smstext = 확인 코드 : 8888"> 테스트 서버 </a> </body> </html>
(친절한 알림 : 테스트 중에 여러 번 테스트하지 마십시오. 한 번은 충분합니다. 주로 서버가 정상인지 여부에 따라 다릅니다. 나중에 여러 번 테스트하기 위해 버려야합니다. 파라미터를 잘못 작성해야합니다. 음수 숫자가 반환되면 서버가 정상이라는 것을 의미합니다. API 페이지에서 제공 한 파라 미터를 기반으로 한 오류를 나타낼 수 있습니다. 링크에도 포함되어 있습니다. 확실히 불가능합니다.)
3. SMS 전송 기능 개발
### ** 3.1 SMS 프로세스 테스트 보내기 ** SMS 전송 기능을 사용하여 다음 3 개의 JAR 패키지가 필요합니다. `Commons-Logging-1.1.1.jar`Jar` 다음, SMS 전송 기능을 완료하고 정확성을 테스트하기 위해 일반 Java 클래스를 작성합니다.
public class sendmessagedemo {public static void main (String [] args)은 예외 {// 1을 던졌습니다. 브라우저 httpclient client = new httpclient (); // 2. 요청 작성 방법 : postmethod 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 ( "key", "xxx")와 동일합니다. 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 프로그램을 실행하여 테스트하기 위해 문자 메시지를 스스로에게 보내십시오. 내 테스트 결과는 다음과 같습니다.! [테스트 결과] (http://img.blog.csdn.net/20160523122802066) ### ** 3.2 MessageUtilImpl로 캡슐화 ** 다음은 자체 프로젝트 에서이 기능을 사용할 것입니다. 위의 프로세스를 MessageUtilimpl 도구 클래스에 캡슐화하고 다음과 같이 인터페이스를 추출합니다.
// 추출 된 MessageUtil 인터페이스 공용 인터페이스 MessageUtil {public acpract void sendMessage (String phonenum, String id); // messageutilimpl 구현 클래스 @component ( "messageUtil") public class 것으로시 messageUtilimpl emseptument {@override public void sendmessage (문자열 phonenum, string id) {// 1. 브라우저 httpclient client = new httpclient (); // 2. 요청 작성 방법 : postmethod 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 ( "키", "0537729D0B59A7E7358B"); post.setparameter ( "smsmob", "15216771570"); post.setparameter ( "smstext", "test!"); // 4. 요청을 제출하고 상태 코드를 반환하십시오. {int code = 0; code = client.executemethod (post); System.out.println ( "http에 의해 반환 된 상태 코드 :" + code); // 5. 서버 문자열 result = post.getResponseBodyAsString ()에 의해 반환 된 데이터 정보를 가져옵니다. System.out.println ( "SMS 전송 결과는 다음과 같습니다." + 결과); } catch (예외 e) {e.printstacktrace (); 새로운 runtimeexception (e)을 던지십시오. } 마침내 {post.releaseConnection (); }}}4. 지불을 개선하십시오
도구 클래스의 캡슐화를 완료하십시오. 다음으로, 우리는 도구 클래스를 Baseection에 넣고 @Resource 주석을 통해 사용하여 사용하여 사용합니다. 아래에서는 다음과 같이 이전 지불의 Backbank () 메소드를 향상시킵니다.
@Controller ( "Payaction")@scope ( "프로토 타입") 공개 클래스 지불은 Baseeaction <bood> emparments ParameterAware {// 관련없는 코드를 저장합니다 ... public void backbank () {backdata backdata = (backdata) 모델; System.out.println (모델); 부울 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 ( "---- 거짓 !!! -----"); }}} Yibao에서 반환 된 정보는 R6_order 매개 변수에 저장되며 R8_MP 매개 변수에 사용자의 이메일 및 전화 번호가 저장됩니다. 첫 번째는 이메일이고 두 번째는 쉼표로 분리 된 휴대폰 번호이므로 먼저 사용자의 휴대 전화 번호를 얻은 다음 문자 메시지를 보내야합니다. 알겠습니다. 결제가 완료된 후 사용자에게 문자 메시지를 보내는 기능이 완료됩니다.
원본 링크 : http://blog.csdn.net/eson_15/article/details/51475431
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.