本文目录一览:
- WAP网站跟短信群发平台怎么联系到一起?能实现:当网站有信息更新时,一些特定的手机回收到短息通知。
- 有谁知道哪家的短信群发平台好用呀?
- 如何用Java实现短信自动发送功能?
- 如何用Java实现短信自动发送功能
WAP网站跟短信群发平台怎么联系到一起?能实现:当网站有信息更新时,一些特定的手机回收到短息通知。
一般是把短信平台的二次开发接口嵌入到WAP网站,当有人更新网站时,就通过二次开发接口发送通知到指定的手机号。如果是通知类消息最好用106直连短信网关,无延时,还能接收回复信息。 你可以试下我们公司的二次开发接口。提供: 106直连短信网关,电信直连网关,一手卡发,价格便宜 百度搜索:八优短信平台,进入八优短信网,可以免费测试
有谁知道哪家的短信群发平台好用呀?
蓝海天下短信公司 的群发平台感觉很好,能定时发送,还有名片夹,个性化短信等功能,又简单易操作。你可以试下,可以免费试用的啦,我几个朋友公司在用他们的。
如何用Java实现短信自动发送功能?
Java实现短信自动发送功能主要是用httpclient实现的,要有发短信的端口。
- 硬件设备是一个3G网卡;
- 软件方面需要sun提过的java底层通信common包;
- 此外还需要第三方库SMSLib,这个是开源项目,主要用于实现java发短信的功能; 主要代码如下:
HttpClient client = new HttpClient();
PostMethod post = new PostMethod("");
post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); // 在头文件中设置转码
NameValuePair[] data = { new NameValuePair("sname", "*****"),
new NameValuePair("spwd", "*****"),
new NameValuePair("scorpid", "*****"),
new NameValuePair("sprdid", "*****"),
new NameValuePair("sdst", "*****"),
new NameValuePair("smsg", "*****") };
post.setRequestBody(data);
client.executeMethod(post);
Header[] headers = post.getResponseHeaders();
int statusCode = post.getStatusCode();
System.out.println("statusCode:" + statusCode);
for (Header h : headers) {
System.out.println(h.toString());
}
String result = new String(post.getResponseBodyAsString().getBytes("utf-8"));
System.out.println(result);
post.releaseConnection();
Java源程序(.java文件)——java字节码文件(.class文件)——由解释执行器(java.exe)将字节码文件加载到java虚拟机(jvm)——字节码文件(.class)就会在java虚拟机中执行。 Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等
如何用Java实现短信自动发送功能
方法一:
- web.xml中配置listener
<listener>
<listener-class>cn.com.jxlife.shs.web.action.csinquiry.surrender.MyListener</listener-class>
</listener>
- 创建listener
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyListener implements ServletContextListener {
private Timer timer = null;
@Override
public void contextInitialized(ServletContextEvent sce) {
timer = new Timer(true);
// 设置任务计划,启动和间隔时间
timer.schedule(new MyTask(), 0, 3 * 60 * 1000); // 3分钟
// timer.schedule(new MyTask(), 0, 3*60*1000);
// 在1秒后执行此任务,每次间隔2秒
// timer.schedule(new MyTask(), 1000, 2000);
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
timer.cancel();
}
}
- 创建启动的类MyTask
import java.util.Date;
import java.util.TimerTask;
public class MyTask extends TimerTask {
@Override
public void run() {
System.out.println("call at " + (new Date()));
}
}
方法二:
spring 下实现定时工作的调度框架quartz
- 从下载quartz的开源包
quartz-1.7.3.tar.gz
3.07M
- 从quartz-1.7.3.tar.gz 找到quartz-1.7.3.jar,放到项目的classpath下
(放到webroot/WEB-INF/lib)下
- 定义一个需要时间调度的程序
package com.machome.quartz;
public class CustomJob1 {
public void onTimeWork() {
System.out.println("数据备份任务启动");
System.out.println("...");
System.out.println("数据备份任务完成");
}
}
- 剩余的工作就都在spring xml文件里完成了
<!-- 被调度的bean -->
<bean id="job1" class="com.machome.quartz.CustomJob1" />
<!-- 定义任务对象 -->
<bean id="jobtask1"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 被调度的bean -->
<property name="targetObject" ref="job1" />
<!-- 被调度的bean中的被调度的方法 -->
<property name="targetMethod" value="onTimeWork" />
</bean>
<!-- 定义触发对象 -->
<bean id="trigger1"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<!-- 任务对象 -->
<property name="jobDetail" ref="jobtask1" />
<!-- cron表达式 -->
<property name="cronExpression" value="10,15,20,25,30,35,40,45,50,55 * * * * ?" />
</bean>
<!-- 调度对象 -->
<!-- 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<bean id="scheduler" lazy-init="false"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!-- 触发对象 -->
<property name="triggers">
<list>
<ref bean="trigger1" />
</list>
</property>
</bean>
- 将spring 项目部署到TOMCAT或JBOSS服务器上
deploy项目
重启TOMCAT server
- 看结果: cron表达式参考:Quartz的cron表达式