「短信开发java」短信开发工程师
今天给各位分享短信开发java的知识,其中也会对短信开发工程师进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
如何用Java实现短信自动发送功能?
Java实现短信自动发送功能主要是用httpclient实现的,要有发短信的端口。
1、硬件设备是一个3G网卡;
2、软件方面需要sun提过的java底层通信common包;
3、此外还需要第三方库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实现短信自动发送功能
方法一:
1.web.xml中配置listener
listener
listener-class
cn.com.jxlife.shs.web.action.csinquiry.surrender.MyListener
/listener-class
/listener
2.创建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();
}
}
3.创建启动的类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
· 1。从下载quartz的开源包
quartz-1.7.3.tar.gz
3.07M
· 2。从quartz-1.7.3.tar.gz 找到quartz-1.7.3.jar,放到项目的classpath下
(放到webroot/WEB-INF/lib)下
· 3。定义一个需要时间调度的程序
package com.machome.quartz;
public class CustomJob1 {
public void onTimeWork() {
System.out.println("数据备份任务启动");
System.out.println("...");
System.out.println("数据备份任务完成");
}
}
· 4。剩余的工作就都在spring xml文件里完成了
!-- 被调度的bean --
bean id="job1" class="com.machome.quartz.CustomJob1"/bean
!-- 定义任务对象 --
bean id="jobtask1"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
!-- 被调度的bean --
property name="targetObject"
ref bean="job1" /
/property
!-- 被调度的bean中的被调度的方法 --
property name="targetMethod"
valueonTimeWork/value
/property
/bean
!-- 定义触发对象 --
bean id="trigger1"
class="org.springframework.scheduling.quartz.CronTriggerBean"
!-- 任务对象 --
property name="jobDetail"
ref bean="jobtask1" /
/property
!-- cron表达式 --
property name="cronExpression"
value10,15,20,25,30,35,40,45,50,55 * * * * ?/value
/property
/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
· 5。 将spring 项目部署到TOMCAT或JBOSS服务器上
deploy项目
重启TOMCAT server
· 6。看结果:
cron表达式参考:Quartz的cron表达式
用JAVA开发短信方面有哪些基本知识
public static int sendSMS(String Mobile,String Content,String send_time) throws MalformedURLException, UnsupportedEncodingException {
URL url = null;
String CorpID="********";//账户名
String Pwd="********";//密码
String send_content=URLEncoder.encode(Content.replaceAll("br/", " "), "GBK");//发送内容
url = new URL(""+CorpID+"Pwd="+Pwd+"Mobile="+Mobile+"Content="+send_content+"Cell=SendTime="+send_time);
BufferedReader in = null; int inputLine = 0; try {
System.out.println("开始发送短信手机号码为 :"+Mobile);
in = new BufferedReader(new InputStreamReader(url.openStream()));
inputLine = new Integer(in.readLine()).intValue();
} catch (Exception e) {
System.out.println("网络异常,发送短信失败!");
inputLine=-2;
}
System.out.println("结束发送短信返回值: "+inputLine); return inputLine;
}
编写一个短信编辑与发送界面Java程序
图形界面效果图
参考代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//窗口继承JFrame, 实现了ActionListener接口
public class MsgFrame extends JFrame implements ActionListener {
private JTextField tf;
private JTextArea ta;
private JButton jbSend;
private static final String TIPS="短信内容不能为空";
public MsgFrame() {
ta = new JTextArea();
ta.setText(TIPS);
ta.setEditable(false);
add(ta);
tf = new JTextField(20);
JLabel jl = new JLabel("短信编辑");
jbSend = new JButton("发送");
jbSend.addActionListener(this);
JPanel jps=new JPanel();
jps.add(jl);
jps.add(tf);
jps.add(jbSend);
add(jps,BorderLayout.SOUTH);
setSize(386, 280);//大小
setLocationRelativeTo(null);//居中
setTitle("发送短信窗口");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new MsgFrame().setVisible(true);//创建窗口并设置可见
}
});
}
@Override
public void actionPerformed(ActionEvent e) {
JButton jb=(JButton) e.getSource();
if(jbSend==jb){//当发送按钮被点击时,进行处理
String text=tf.getText().trim();
if(text.isEmpty()){
JOptionPane.showMessageDialog(this, TIPS);//如果内容为空,那么提示
}else{
ta.append("\r\n"+text);//如果内容不为空,那么添加到文本域
tf.setText("");//发送完成,清空文本框的内容
}
}
}
}
短信开发java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于短信开发工程师、短信开发java的信息别忘了在本站进行查找喔。