「短信开发java」短信开发工程师

博主:adminadmin 2023-03-21 02:39:07 410

今天给各位分享短信开发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的信息别忘了在本站进行查找喔。