1.根据第三方短信接口提供的例子进行参考接入

package com.jc.cus.utils;

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.HttpException;

import org.apache.commons.httpclient.HttpMethod;

import org.apache.commons.httpclient.HttpStatus;

import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;

import org.apache.commons.httpclient.methods.GetMethod;

import org.apache.commons.httpclient.methods.PostMethod;

import org.apache.commons.httpclient.params.HttpConnectionManagerParams;

import java.io.*;

public class HttpClientUtil

{

private static HttpClientclient =null;

// 构造单例

private HttpClientUtil()

{

MultiThreadedHttpConnectionManager httpConnectionManager =new MultiThreadedHttpConnectionManager();

HttpConnectionManagerParams params =new HttpConnectionManagerParams();

// 默认连接超时时间

params.setConnectionTimeout(60000);

// 默认读取超时时间

params.setSoTimeout(60000);

// 默认单个host最大连接数

params.setDefaultMaxConnectionsPerHost(200);// very important!!

// 最大总连接数

params.setMaxTotalConnections(500);// very important!!

httpConnectionManager.setParams(params);

client =new HttpClient(httpConnectionManager);

client.getParams().setConnectionManagerTimeout(3000);

// client.getParams().setIntParameter("http.socket.timeout", 10000);

// client.getParams().setIntParameter("http.connection.timeout", 5000);

}

private static class ClientUtilInstance

{

private static final HttpClientUtilClientUtil =new HttpClientUtil();

}

public static HttpClientUtil getInstance()

{

return ClientUtilInstance.ClientUtil;

}

/**

* 发送http GET请求,并返回http响应字符串

*

* @param urlstr

*            完整的请求url字符串

* @return

*/

public String doGetRequest(String urlstr) {

String response ="";

HttpMethod httpmethod =new GetMethod(urlstr);

try {

int statusCode =client.executeMethod(httpmethod);

InputStream _InputStream =null;

if (statusCode == HttpStatus.SC_OK) {

_InputStream = httpmethod.getResponseBodyAsStream();

}

if (_InputStream !=null) {

response = GetResponseString(_InputStream,"UTF-8");

}

}catch (HttpException e) {

e.printStackTrace();

}catch (IOException e) {

e.printStackTrace();

}finally {

httpmethod.releaseConnection();

}

return response;

}

public String doPostRequest(String postUrl) {

String response ="";

PostMethod postMethod =new PostMethod(postUrl);

try {

int statusCode =client.executeMethod(postMethod);

if (statusCode == HttpStatus.SC_OK) {

InputStream _InputStream =null;

if (statusCode == HttpStatus.SC_OK) {

_InputStream = postMethod.getResponseBodyAsStream();

}

if (_InputStream !=null) {

response = GetResponseString(_InputStream,"UTF-8");

}

}

}catch (HttpException e) {

e.printStackTrace();

}catch (IOException e) {

e.printStackTrace();

}finally {

postMethod.releaseConnection();

}

return response;

}

/**

*

* @param _InputStream

* @param Charset

* @return

*/

public String GetResponseString(InputStream _InputStream, String Charset) {

String response ="";

try {

if (_InputStream !=null) {

StringBuffer buffer =new StringBuffer();

InputStreamReader isr =new InputStreamReader(_InputStream, Charset);

Reader in =new BufferedReader(isr);

int ch;

while ((ch = in.read()) > -1) {

buffer.append((char) ch);

}

response = buffer.toString();

buffer =null;

}

}catch (Exception e) {

response = response + e.getMessage();

e.printStackTrace();

}

return response;

}

public static void main(String[] args) {

String url ="http://sdk4rptws.eucp.b2m.cn:8080/sdkproxy/sendtimesms.action?cdkey=2SDK-EMY-6688-AAAAA&password=******&phone=1333333333,13444444444&message=单发即时短信测试&addserial=10086&sendtime=20090101101010";

// System.out.println(doGetRequest(url));

}

}

上面的例子用到了单例模式和内部类的方法实现的,

在自己项目的代码中中需要先查询出 上面main方法中url需要的字段类型,然后进行拼接成上面的url,请求这个url就可以了,

请求过后看下后台输出的内容,如果返回值为0,则短信发送成功,下面是我自己的部分代码为例:

public String doNoteBook(HttpServletRequest request, HttpServletResponse response)

{

try

{

//查询出正在举办活动的本期客户的房间号room为空的电话号码

List phones =customerMapper.getCustomerPhoneByPeriodsAndRoom();

//String messages = request.getParameter("message");

String messages ="尊敬的";

String messag =",您的房间号为:";

//取到的中文转码

messages = URLEncoder.encode(messages,"utf-8");

messag = URLEncoder.encode(messag,"utf-8");

for (PhoneVO phone: phones)

{

String customerName = phone.getName();

String name = URLEncoder.encode(customerName,"utf-8");

String phonenum ="phone="+phone.getPhone();

String message ="message="+messages+name+messag+phone.getRoom();

String url =notePaths+cdkey+"&"+password+"&"+phonenum+"&"+message;

//System.out.println("*****************="+url);

String responseString = HttpClientUtil.getInstance().doGetRequest(url);

//可以在此处根据返回值进行判断

System.out.println("*****************="+responseString);

}

}catch (Exception e)

{

e.printStackTrace();

}

return null;

}

经测试有效

java短信接口开发完整项目_java项目接入第三方短信接口相关推荐

  1. 【源码+教程】Java桌球游戏_Java初级项目_Java练手项目_Java项目实战_Java游戏开发

    今天分享的Java开源游戏项目是桌球游戏,初学者也可以用来练习喔~课程详细讲解了一个桌球游戏的编写思路和流程,即使你刚学Java没多久,也可以跟随该教程视频完成属于你自己的桌球游戏!同时,还可以加深和 ...

  2. 国际web短信软件平台开发搭建后台功能|移讯云短信系统

    国际web短信软件平台开发搭建后台功能|移讯云短信系统 特色功能模块功能列表 1:通道路由模块 1.1:通道地区设置 1.2:通道关键词分流 1.3:白名单独立通道设置 1.4:通道分组设置 1.5: ...

  3. java实践项目_Java项目开发实践

    第章项目开发基础() 项目开发实训目标() 实训知识目标() 实训能力目标() 实训素质目标() 项目开发技术() 图形用户界面编程技术() 输入输出编程技术() 网络编程技术() 数据结构编程技术( ...

  4. java集成开发工具项目_Java项目开发(一)-不借助集成工具创建Java项目并编写编译执行脚本...

    java-project(项目根目录)|--src| |--main(主目录)| | |--java(存放项目的.java文件)| | | |--com(包目录)| | | | |--mycompan ...

  5. java servlet接口开发_servlet三种实现方式之一实现servlet接口

    servlet有三种实现方式: 1.实现servlet接口 2.继承GenericServlet 3.通过继承HttpServlet开发servlet 第一种示例代码如下(已去掉包名): import ...

  6. java高级框架应用开发案例教程_Java高级框架应用开发案例教程:struts2+spring+hibernate PDF...

    资源名称:Java高级框架应用开发案例教程:struts2+spring+hibernate PDF 第1章 struts+spring+hibernate概述 1.1 框架概述 1.2 struts ...

  7. 短视频APP开发:我想打造新闻资讯短视频APP

    现在,还有多少人喜欢看新闻了? 六十年代,新闻是人们看世界的唯一窗口,八十年代,看新闻是全家人的集体活动,现在,短视频成了人们的手中宝,新闻,不是年轻人的范儿. 当抖音引爆全球,鸡汤灌满朋友圈,报纸逐 ...

  8. 【开源OA项目】基于环信IM开发完整的企业通讯解决方案-Dolores

    我们公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做? 常常会听到身边亦或者网上的朋友讨论诸如此类的问题,正好前段时间我比较有时间,就决定做一套 ...

  9. java项目:永和大王项目_Java项目:书评

    java项目:永和大王项目 本文是关于这本书的 Peter Verhas撰写的Java Projects Second Edition 我去年写的 这样一篇文章的目的通常是为了促进这本书的销售. 在这 ...

  10. java ssm项目_JAVA项目:逝去的SSM

    SSM(Spring+SpringMVC+MyBatis) SSM(Spring+SpringMVC+MyBatis)框架集由Spring.SpringMVC.MyBatis三个开源框架整合而成,常作 ...

最新文章

  1. 星空下的痕迹 Jenkins学习(四)----------windows下Publish over FTP插件应用
  2. Python小白的数学建模课-18.最小生成树问题
  3. 7个习惯可以改变一个人和他的一生
  4. 递归函数合式分解python_学习python的day10之递归与内置函数
  5. 排序算法之六 堆排序(C++版本)
  6. 例3.6 二叉搜索树 - 九度教程第36题(二叉排序树)
  7. mysql用sqluldr2导出_使用sqluldr2将oracle大量表数据快速高效导出
  8. premiere软件的使用(快速入门,迅速了解常用功能、常用快捷键、常用插件)——wsdchong
  9. WPS:添加公式后,行间距变宽的解决方法
  10. Windows如何设置夜间模式(护眼模式)超简单
  11. c语言FD_SET头文件,select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
  12. 【python学习笔记】爬虫总遇到的:'latin-1' codec can't encode character...
  13. php开发工具PhpStorm新版本V2022.1 新增功能亮点介绍
  14. 【算力网络】算力网络的技术创新——绿色与安全关键技术
  15. 股票期货化数据文档大全覆盖国内6大易的历史数据和实时行情
  16. 实施工程师面常见问题
  17. 如何将电脑文件同步备份到u盘或移动硬盘?
  18. 等我怎么怎了,就如何如何
  19. 杰理之统一音量控制【篇】
  20. docking 分屏

热门文章

  1. 【原】JUNIT 源码分析之TestSuite
  2. Monkey log 分析
  3. ShowWindow与UpdateWindow
  4. C语言的进制转换以及算法实现
  5. NetSuite 精益实施的ALV实践
  6. “企业级零代码黑客马拉松大赛”决赛名单公布
  7. 倪海厦天纪笔记16_倪海厦《天纪·天机道》笔记
  8. 如何判断一家软件公司是否靠谱
  9. 微信小程序:UI好看的王者荣耀战力查询助手小程序源码
  10. 文件关联修复工具(用文本文档保存后后缀修改为bat)